Commands
⚠️ This page is currently under active refactoring.
Content-level refactoring
Move Selection To
Move the currently selected block of text to another note and update all backlinks.
Move Header
Move the selected header to another note.
Rename Header
Rename a header and update all backlinks to that note.
Convert Link
Convert selected link to other types of links or plaintext.
Note-level refactoring
Rename note
Rename a note and update all backlinks to that note.
Move Note
Move a note to another vault and update all backlinks to that note.
Merge Note
Merge a note into another note and update all backlinks
Hierarchy-level refactoring
Refactor Hierarchy
Rename multiple notes using regular expressions
Archive Hierarchy
Move current note and all children under the archive
hierarchy
Doctor
Notes
Browse Note
- shortcuts: None
Open the GitHub repository (if it exists) of the current note. If you have a multi vault workspace with different git repositories, this command will
Copy Codespace URL
- shortcuts: none
The current note's Codespace URL is copied to the clipboard for a Github backed workspace. The information toaster also has a button to open the note in codespaces.
Create Daily Journal Note
- shortcuts:
- key:
ctrl+shift+i
- mac:
cmd+shift+i
- when:
editorFocus
- key:
Create a global journal note
Copy Note Ref
- shortcuts:
- key:
ctrl+shift+r
- mac:
cmd+shift+r
- when:
editorFocus
- key:
Copies a reference to the current open document
This lets you quickly create a note reference to the current note.
Header Selection
If you have a header selected while running this command, it will copy the note ref with the selected header to the next note ref.
Having the cursor within a header will also show a lightbulb for the Contextual UI Header Operations, which includes a Copy Header Reference quick fix. This will copy the note ref to your clipboard.
Block Selection
If you have some text selected, Dendron can insert block anchors to reference the region you have selected.
Range Selection
If you highlight multiple blocks, Dendron can create a range selection that spans the blocks selected. Watch the following video starting at the 10s mark for an example.
MultiVault
If you use this command in a multi vault workspace, Dendron will create a cross vault link to the note in question.
Delete
- shortcuts:
- key:
ctrl+shift+d
- mac:
cmd+shift+d
- key:
Delete a note or schema. A prompt will occur before deletion if any links will break that are referencing the note. When deleting a note and when the note is on the active editor, that editor is closed after running the command.
You can also delete a note from the explorer:
Delete Node
⚠️ This is a deprecated command. Please consider using Delete instead.
Insert Note Index
Insert a block that lists the direct children of the current note to cursor position.
The format of the block is as follows:
## Index
- [[{ch1}|{noteName}]]
...
If used in a multi-vault workspace and noXVaultWikiLink is not set, the wikilinks will have a vault prefix added to avoid ambiguity.
Given the following hierarchy:
├── recipe
├── recipe.eggs
├── recipe.eggs.royale
├── recipe.eggs.deviled
├── recipe.eggs.benedict
├── recipe.eggs.florentine
├── recipe.bagel
├── recipe.bagel.with-gravlax
├── recipe.chicken
└── recipe.chicken.curry
Running this command with the note recipe
open will insert the following at cursor position:
## Index
- [[Eggs|recipe.eggs]]
- [[Bagel|recipe.bagel]]
- [[Chicken|recipe.chicken]]
Running it in the note recipe.eggs
will insert the following at cursor position:
## Index
- [[Royale|recipe.eggs.royale]]
- [[Deviled|recipe.eggs.deviled]]
- [[Benedict|recipe.eggs.benedict]]
- [[Florentine|recipe.eggs.florentine]]
- configuration : insertNoteIndex
Random Note
Navigates to a random note in the workspace. By default, all notes are included in the set that can be navigated to with this command. This can be adjusted with the randomNote
setting in the Dendron Config (see Configure (yaml)).
# Sample configuration in dendron.yml:
randomNote:
include:
- alpha
- beta.foo
exclude:
- alpha.bar
This pattern would specify a set including all notes under alpha
except for notes in the alpha.bar hierarchy. The set would also include notes under beta.foo*
.
- If
include
is not specified, then theinclude
matching pattern will match all notes. exclude
takes precedence overinclude
, so if the patterns are identical, no notes will match.
Preview
Toggle Preview
Summary
Toggle display of the markdown preview
Keybindings
- shortcuts:
- windows:
ctrl+k v
- mac:
cmd+ctrl+p
- windows:
Toggle Preview Lock
Summary
When activated, locks the preview in place. Changing the active text editor will not change the preview until the lock has been removed.
Details
Visually, this is indicated by a locked icon on the top right corner of the preview. You can toggle the locked
state by using the Toggle Preview Lock
command or clicking on the lock icon
Example
Navigation
Lookup Note / Create Note
- shortcuts:
- mac:
cmd+L
- key:
ctrl+l
- mac:
Initiate note lookup
Summary
Lookup lets you find or create a note.
Details
To work with notes, Dendron uses lookups. Lookups help you create, find, and organize your notes. You can watch the following video to see some of the things you can do with lookups.
Lookups
Dendron supports lookups by keywords separated by spaces/' ' without having to know the order where the keywords occur in the note. As example: dendron rename
& rename dendron
will both match note dendron.dev.design.commands.rename
.
As mentioned in Details, the look up is accomplished through utilization of fusejs. You can use fusejs extended search syntax when looking up notes.
For entries that have the same score, Dendron will sort results by their last updated time. Further info on lookup syntax can be found in Finding Notes
Look up Auto Complete
Pressing Tab
while having lookup view open will attempt to auto complete results. This is especially useful when dealing with hierarchies which adds on one level of hierarchy (from the highest matched result) at a time.
Details
Behind the scenes, lookup uses fusejs to do fuzzy string matching based on the note hierarchy. You can see our parameters here.
Scoring is explained here.
You can see the pseudo code for how fusejs integrates with lookup here (Private).
Summary
Dendron disallows certain characters and or patterns in the file name of a note.
Details
There are a few restrictions on how you can name your notes. This is mainly due to compatibility across different platforms, as well as some restrictions that are imposed by VSCode.
⚠️ Introduction of new restrictions are very rare, but it can happen in the future.
In that case, a detailed guide will be provided on how to automatically fix your existing notes' file names so that they conform to the new restrictions.
Automatically finding and fixing invalid filenames
You can use the Doctor command with the action fixInvalidFileNames to find and fix invalid filenames.
If an automatic fix is not possible, the doctor command will notify you with the file names that were not automatically fixable so that you can manually review and rename them.
Restrictions
Empty hierarchies
Hierarchies cannot be empty strings. This means:
- file names (excluding the
.md
extension) cannot start or end with a.
, which delineates a hierarchy. - file names cannot have consecutive dots.
# good
foo.bar.md
foo.bar.baz.md
# bad
foo..baz.md
.foo.md
foo..md
Mixed case
When you lookup a note, the query ignores cases. VSCode will also not allow you to have two files with mixed cases but same characters.
To avoid confusion, we recommend using lower-kebab-case for all your notes if possible, and keep the casing consistent at minimum on a per-hierarchy basis.
# good
foo.md
foo-bar.md
# bad
Foo.md
fOO.md
FoO.md
Foo_Bar.md
Symbols / special characters
There are a few non-alphanumeric characters that are disallowed in filenames due to compatibility across different platforms and backends.
Currently these are the disallowed characters:
(
(open parentheses))
(close parentheses)'
(single quote),
(comma)
We recommend replacing the occurences of these symbols to -
, or refactor the note to have a simpler file name that doesn't require special characters to be described.
Create Journal Note
- shortcuts:
- key:
ctrl+shift+j
- mac:
cmd+shift+j
- key:
Creates a Journal Note.
Create Scratch Note
- shortcuts:
- key:
ctrl+shift+s
- mac:
cmd+shift+s
- key:
Creates a Scratch Note.
Create Task Note
- shortcuts: none
Creates a task note, which comes with some extra features to keep track of work items.
The Create Task Note
lookup supports tabbing for autocompletion.
Set Task Status
Summary
Change status for a task note
Keybindings
none
Details
If you have a link selected, it will set the task status for that note. If you don't have a link selected but you have a task note open, it will set the status for that note.
The statuses displayed when you use the command are based on the statusSymbols configuration.
You can create a keyboard shortcut that sets a task to a specific status. Please see Keyboard shortcut for a task status for details.
Complete Task
Summary
Mark task note as complete
Keybindings
none
Details
This works in the same way as Set Task Status, but doesn't prompt for the status to use. Instead, it will use the first status set in the taskCompleteStatus configuration.
Create Meeting Note
Summary
Create a meeting note.
Meeting notes help you keep track of meetings by providing a structured default to capture notes, attendees and next steps.
Keybindings
none
Details
When you first run the command, a meeting note template and a meeting note schema will be created with the names templates.meet
, and dendron.meet.schema.yml
.
When the command is triggered, a lookup bar will appear with the query prefilled as meet.{year}.{month}.{day}
.
Depending on your preference, you can add a separate name if you wish to track multiple meeting notes per day by their name by adding to the prefilled query like so:
meet.{year}.{month}.{day}.my-first-meeting
or forgo the name and keep everything under the default note like so:
meet.{year}.{month}.{day}
To learn more about meeting notes, see Meeting Note
Lookup Schema
- shortcuts:
- mac:
cmd+shift+L
- key:
ctrl+shift+l
- mac:
Initiate schema lookup
Open Backup
- shortcuts: none
Open backup files created by Dendron.
When triggered, you will be prompted to select the key of the backup file. Once selected, you will be prompted again with a list of all backups saved under the key.
Currently Dendron only creates backups for dendron.yml
, and these are saved with the key config
.
This command is a convenience command to open backup files saved under {workspaceRoot}/.backup/{key}/
.
Go to Commands
Find all References
--
Organizing
Hierarchies
Reload Index
- shortcuts: none
Reload the index. Necessary for Dendron to pick up on schema changes.
Hooks
Hook Create
Create a custom hook to trigger during Dendron's lifecycle. This command takes two parameters:
- hookName: name of your hook
- hookFilter: a glob pattern that filters what notes your hook applies to
- default:
*
, apply hook to all notes by default
- default:
- hookType: where to attach the hook (coming soon - we only support
onCreate
at the moment)- types: onCreate|onDelete|onChange
- default: onCreate
Hook Delete
Delete a custom hook. Will remove the hook from dendron.yml
and optionally, remove {workspace}/hooks/{hookName}.js
Parameters:
- hookName: name of the hook to remove
- shouldDeleteScript: whether you should also delete the hook script
Workspace
Disable Telemetry
Disable telemetry across all workspaces with Dendron
Enable Telemetry
Enable telemetry across all workspaces with Dendron
Add Existing Vault
Create New Vault
Vault Add
⚠️ This is a deprecated command and will be removed in upcoming release. Please consider using Create New Vault instead.
Remove Vault
Remove Vault
- shortcuts: none
Remove a vault
Remove a vault from your workspace. Note that the underlying files will not be deleted - the vault will lose its association with your workspace.
You can also remove a vault from the explorer by: Right Click on the vault > Dendron: Vault Remove
Convert Vault
Convert Vault
You can convert a local vault to a remote vault, or a remote vault to a local vault using this command. Simply run the command and follow the prompts.
If you are using Self Contained Vaults, then this command will also move the vault folder to be in the correct directory.
Migrate to Self Contained Vault
Converts an existing vault into a self contained vault. See migrating a regular vault for details.
Launch Tutorial
Prompt user to create an initial tutorial workspace and takes user through new tutorial
Initialize Workspace
- shortcuts: none
Create a new workspace
Change Workspace
- shortcuts: none
Change into existing workspace
Snapshot Vault
- shortcuts: none
Create a snapshot of your vault
Takes a snapshot of your entire vault, including assets. This command will ignore version control folders like .git when making a snapshot. Snapshots are saved under {workspace}/snapshots/{timestamp}
Restore Vault
- shortcuts: none
Restore your vault from a snapshot
Restores your vault based on a snapshot. When restoring, it will over-write any notes that have the same name as notes in the snapshot. It will ignore version control directories like .git when restoring your vault
Show Help
- shortcuts: none
Dendron will open your current browser to the cheatsheet page.
Configure (yaml)
- shortcuts: none
Modify Dendron Config as raw YAML
Configure (UI)
- shortcuts: none
Modify Dendron Config using Dendron UI
Workspace: Add and Commit
Start anchor workspace-add-and-commit not found
Workspace: Sync
Synchronize all notes across all vaults with git.
Any changes you made will be pushed back to remote, and any changes in the remote will be pulled.
Pods
Build Pod
- shortcuts: none
Build your notes for export. Currently, only export to GitHub Pages is supported.
Configure Pod
- shortcuts: none
Update your pod configuration
Configure Export Pod V2
Update your export pod v2 configuration.
Configure Service Connection
Update your service Connections config.
Import Pod
- shortcuts: none
Import notes from an external data source. Currently, only the local file system is supported
Import Obsidian Vault
Summary
Import Markdown notes from an Obsidian vault
This is a simplified version of Import Pod that can be used for a one-time import of your Obsidian notes into your Dendron workspace.
Export Pod
- shortcuts: none
Export notes to an external data source. Currently only JSON is supported.
Publish Pod
- shortcuts: none
Publish your note to a different format/location
Seeds
Browse the Seed Registry
Browse the Seeds available in the Seed Registry and view detailed information about each one. You can also add seeds to your workspace through the UI.
Add Seed to Workspace
Add a seed (Private) to your current workspace.
Remove Seed from Workspace
Remove a seed (Private) from your current workspace.
Misc
Contribute
- shortcuts: none
Become an environmentalist and keep Dendron sustainable
This command takes you to Dendron's Environmentalist plans. Environmentalists are users that can support Dendron financially through a monthly contribution. Environmentalist get access to Insiders builds, priority support, and access to exclusive dev channels.
Paste File
Takes the path currently in the clipboard, copies the file into {vault}/assets
, and inserts Markdown link in the current note. This is the file equivalent of Dendron's Paste Image command
Note that most file types won't be natively supported in the preview. You'll need to use the VS Code built-in > Open Link
command to open the file.
If you are on macOs, you can find instructions for getting the path to the current file here
Publishing
Copy Note URL
- shortcuts:
- mac:
cmd+shift+u
- windows:
ctrl+shift+u
- mac:
Get URL of current note from published site
If you highlight a header, will copy the url with the header set as the anchor
The url is taken from the siteUrl property.
Publish
- shortcuts: none
Build, commit and publish your notes with a single command
- NOTE: this is meant for v1 publishing. V2 publishing currently does not have a publish command.
Publish Export
- shortcuts: none
Build and export your notes using publishing v2
Publish Dev
- shortcuts: none
Preview your notes on localhost using publishing v2.
Dev
Dump State
- shortcuts: none
Dump internal state of Dendron inside logs
This is useful when diagnosing issues in Dendron
Dendron:Dev: Open Logs
- shortcuts: none
Open Dendron logs for current session
Dendron:Dev: Diagnostics Report
Summary
Copy last 3000 lines of all logs and config to clipboard. Use when submitting an issue to Dendron
Keybindings
none
Details
Diagnostics report generates a new note with the following information:
- workspace type
- current dendron version
- previous workspace version
- previous global version
- extension install status
- contents of
dendron.yml
- contents of
dendron.code-workspace
- last 3000 lines of logs from client and server
Dendron:Dev: Run Migration
- shortcuts: none
If your dendron.yml
configuration file is out of date, you can use this
command to update it. Dendron should automatically prompt you and run the
migration for you, but you can use this command if you didn't get the prompt for
any reason.
Contextual UI
File Operations
New File
Dendron recognizes a new Markdown file created from VS Code context menu and populate it with the frontmatter.
Header Operations
These are Dendron-specific features made available as Quick Fix operations in VS Code.
A header action is announced by a lightbulb when the cursor is within a header. Clicking on the Code Action lightbulb or using the Quick Fix command Ctrl+.
will display the following quick fixes.
💡 TIP: If you prefer to not see the Code Action lightbulb in your editor, you can disable lightbulbs with the
editor.lightbulb.enable
setting. You can still open Quick Fixes through Quick Fix command andCtrl+.
keyboard shortcut.
Copy Header Reference
If you have a header selected while running this command, it will copy the note ref with the selected header to the next note ref.
Having the cursor within a header will also show a lightbulb for the Contextual UI Header Operations, which includes a Copy Header Reference quick fix. This will copy the note ref to your clipboard.
Children
Backlinks
- Changelog
- Features
- 0.1.X
- 0.2.X
- 0.3.X
- 0.4.X
- 0.5.X
- 0.04
- 0.05
- 0.10
- 0.11
- 0.12
- 0.25
- 0.27
- 0.54
- 0.57
- 0.63
- 0.74
- 0.75
- 0.76
- 0.77
- 0.78
- 0.87
- 0.99
- 0.103
- 0.109
- 0.112
- 0.116
- 0.117
- Cookbook
- Troubleshooting
- Commands
- Configuration
- Telemetry
- Topics
- Tasks
- Vaults
- Workspace
- VS Code Config
- Quickstart
- Schemas
- Configuration
- Quickstart
- Meeting Note
- Self Contained Vaults
- Web
- Native Workspaces
- Sync Gotchas
- Import Obsidian Vault
- Visualize Task Notes with Airtable
- Publishing Your Site
- duplicateNoteBehavior
- Dendron: Rename Header
- Complete Task
- Migrating to Self Contained Vaults
- Export
- Publish
- Import
- Publish