Commands
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
Create Daily Journal Note
- shortcuts:
- key:
ctrl+shift+i
- mac:
cmd+shift+i
- when:
editorFocus
- key:
Create a global journal note
Copy Note Link
- shortcuts:
- key:
ctrl+shift+c
- mac:
cmd+shift+c
- when:
editorFocus
- key:
Copy wiki link to note. The title of the note will be applied as the note alias. If you highlight a header, Dendron will create a relative link to the header with the alias set to the header value.
You can also highlight any line of text, and Dendron will create a link to it by inserting a block anchor, or copy an existing anchor.
If you use this command in a multi vault workspace, Dendron will create a cross vault link to the note in question.
You can also copy note link by Right Click on editor and select Dendron: Copy Note Link
from the context menu.
Files that are not notes, or files outside your vaults
You can use this command in any file inside your workspace, including files that aren't notes or files that are not in any vault to get links to those files.
Similar to regular notes, you can also highlight a line of text to create a link to that line. Dendron will automatically insert a Block Anchor like it does in notes, but you can change what kind of anchor to use with the anchorType configuration.
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 Node
- 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.
You can also delete a note from the explorer:
- Right Click on the note
Dendron: Delete Node
Insert Note
Insert the contents from a note into another note. You can configure a starting hierarchy for this command. Useful if you designated a hierarchy (eg. templates
) for insertions.
When inserting a note, all snippet variables will also be resolved.
- configuration: defaultInsertHierarchy
Insert Note Link
Insert the note link into the current document using lookup.
There are two modifiers that can be passed into this command:
multiSelect
aliasMode
multiSelect
This modifier enables the multi-select mode. With multi-select enabled, you can select all the notes you want the links to be inserted.
This can be toggled on by clicking on the button, or setting multiSelect: true
in dendron.yml
as below:
---
insertNoteLink:
multiSelect: true
...
---
You can also pass it as a command argument through a custom keybinding as below:
/* in keybindings.json.
* Use `Preference: Open Keyboard Shortcuts (JSON)` to open.
*/
[
...
{
"key": "{desired keybinding}",
"command": "dendron.insertNoteLink",
"args": {
"multiSelect": true
}
},
...
]
aliasMode
This modifier enables different alias modes.
Here is the list of available alias modes:
snippet
: Inserted note link resolves into a VS Code snippet stringselection
: Extracts the selection of the active note and use it as the alias.title
: Use the note title of the linked note as alias.prompt
: Open an input box that will prompt for an input for the alias.none
: Does not add alias. (default)
You can override the default alias mode in dendron.yml
as below:
// dendron.yml
insertNoteLink:
aliasMode: "snippet" // choose one from the list
You can also pass it as a command argument through a custom keybinding as below:
/* in keybindings.json.
* Use `Preference: Open Keyboard Shortcuts (JSON)` to open.
*/
[
...
{
"key": "{desired keybinding}",
"command": "dendron.insertNoteLink",
"args": {
"aliasMode": "snippet" // choose one from the list
}
},
...
]
snippet
Inserted note link will resolve into a VS Code snippet in the form of
[[{$1: alias}|note-name]]$0
If multi-select is enabled, each subsequent alias field will be available as separate tabstops like so:
[[{$1: alias}|note1]]
[[{$2: alias}|note1]]
[[{$3: alias}|note1]]
[[{$4: alias}|note1]]
[[{$5: alias}|note1]]
...
[[{$n: alias}|note1]]$0
selection
Selection present in the active editor will be extracted and used as the alias.
The original selection will be replaced by the link inserted.
If multi-select is enabled, all inserted note links will have identical aliases.
title
The title of the note that is being linked is used as the link's alais.
prompt
An input box will be prompted that will let you type in the desired alias.
If multi-select is enabled, you will be prompted for each of the note links you want to insert.
none
No alias will be used for the inserted note link(s).
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
Move Note
If looking to move a note within a hierarchy in a local vault, or just to rename the note, use Rename Note
- shortcuts: none
Move a note between vaults when in a Multi Vault workspace, and update all backlinks.
You can also move a note from the explorer, and all of the backlinks to that note will be updated automatically:
- Right Click on the note
- Select
Dendron: Move Note
NOTE: Dendron will not allow you to move a note to a note that already exists
Paste Link
Transform URL in clipboard to nicely formatted Markdown link
Convert Link
Converts links of various statuses and kinds.
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.
Show Preview
- shortcuts:
- windows:
windows+ctrl+p
- mac:
cmd+ctrl+p
- windows:
Shows a Markdown preview view. This preview supports rendering Dendron features, such as note refs, wikilinks, custom image properties, and more. Show Preview
supports previewing Dendron notes and regular Markdown files such as a project README.md
.
Show Preview (legacy)
⚠️ This is a deprecated command. Please consider using Show Preview instead.
- shortcuts:
- windows:
windows+ctrl+p
- mac:
cmd+ctrl+p
- windows:
Show Markdown Preview. See Preview for more details.
Navigation
Lookup Note
- shortcuts:
- mac:
cmd+L
- key:
ctrl+l
- mac:
Initiate note lookup
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).
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.
Create Meeting Note
- shortcuts: none
Creates a meeting note, which applied a pre-built template to help you take notes during a meeting. The template is fully customizable.
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.
Archive Hierarchy
- shortcuts: none
Move current note and all children under the archive
hierarchy
This is a convenience method around Refactor Hierarchy
for the case of archiving hierarchies you are no longer using. For example, if you were currently at pro.foo
, running Archive Hierarchy
would be equivalent to running Refactor Hierarchy
with the following arguments:
- matcher:
pro.foo
- replacement:
archive.pro.foo
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
Vault Add
- shortcuts: none
Add a new vault to your workspace.
When you add a vault, you can choose between adding a local vault or a remote vault. You can change this later with the Vault Convert command.
You can also add a vault from the explorer by: Right Click on the explorer > Dendron: Vault Add
Vault Remove
- 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
Vault Convert
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.
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
- shortcuts: none
Modify Dendron Config using Dendron UI
Workspace: Add and Commit
Add and commit all notes across all vaults to git.
Workspace: Sync
Synchronizes 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.
In more detail: Dendron will first commit all your changes, then pull changes from the remote, and finally push everything back to the remote. This workflow is good in most cases: private notes, internal shared vaults, or your personal writings. This workflow doesn't work as well in some cases however, so we offer per-vault configuration options which you can use to adjust how your notes are synchronized.
Dendron can automatically detect merge conflicts and rebases, stash and restore your local changes when pulling if needed, and warn you about misconfigured remotes. Make sure to look at the message Dendron shows you after the sync is completed to see if there were any errors.
You can set these configuration options in your dendron.yml
, either for each vault with the sync
option, or for all workspace vaults with the workspaceVaultSync
option. The configuration will look like this:
... rest of your dendron.yml
workspaceVaultSync: noPush
vaults:
-
fsPath: my-website
sync: noCommit
remote:
type: git
url: 'git@github.com:my-username/my-website.git'
-
fsPath: my-notes
sync: sync
remote:
type: git
url: 'git@github.com:my-username/my-notes.git'
configuration options
sync
Dendron will try to synchronize everything: Dendron will first commit all your changes, then pull changes from the remote, and finally push everything back to the remote. This is the default for regular vaults.
noCommit
Pull and push updates if the workspace is clean, but don't commit. You manually commit your local changes, but automatically share them once you committed. This is good for vaults where you want to write a meaningful commit message and control what is being committed, for example a shared knowledge base or wiki. This is the default for Workspace Vaults.
noPush
Commit any changes and pull updates, but don't push. You can watch the repository and make local changes without sharing them back. This is good if you want to watch the updates in a vault and maybe even note your own thoughts in the vault without sharing them, for example an organization handbook that you don't want to edit yourself.
skip
Don't do any synchronization. This may be useful if you use some other tool to synchronize this vault.
Gotchas
Workspace Types
Dendron recognizes 2 types of workspaces, Code and Native. When you initialize your workspace with
the Initialize Workspace command, you get a Code
workspace. Code workspaces include a dendron.code-workspace
file which sets up vaults and
recommends installing some useful extensions. Code workspaces are great when you are setting up a
knowledge base.
Native workspaces on the other hand don't have a dendron.code-workspace
file.
They are useful when you are writing notes or documentation, and you want to
keep your notes as part of a project rather than a separate knowledge base.
See Native Workspace Setup to see how you can start using a native workspace!
Cookbook
Version control your workspace using Git
Inside your workspace, run the following
- Initialize a git repo
git init git add . git commit -m "initial commit"
- Add a remote
- go to GitHub, and create a new workspace
- follow instructions to add an existing git repo to the repository
Syncing your workspace with Git
Workspace Sync
does not sync the workspace if all your vaults are separate git repos. In order to synchronize your workspace, you need to explicitly do a git pull
from the workspace folder.
If you are inside VS Code, you should be able to run > Create Integrated Terminal...
, choose the folder containing your workspace, and launch the terminal. After launching, run a git pull
inside of it.
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
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
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.
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
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
- shortcuts: none
Copy last 3000 lines of all logs and config to clipboard. Use when submitting an issue to Dendron
Information displayed:
- workspace type
- current dendron version
- previous workspace version
- previous global version
- extension install status
- contents of
dendron.yml
- contents of
dendron.code-workspace
- telemetry status
- 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 recognises a new Markdown file created from VS Code context menu and populate it with the frontmatter.
Rename Note
If looking to move a note to a different vault, within a Multi Vault workspace, use Move Note instead.
- shortcuts: none
Rename a note and all backlinks.
If the title is the same as what Dendron would autogenerate (kebab-case capitalized), then refactor will change the title as well. Otherwise, it will preserve the existing title.
You can also rename a note from the explorer, and all of the backlinks to that note will be updated automatically (see an example loom video):
- Right Click on the note
- Select
Dendron: Rename Note
NOTE: Dendron will not allow you to rename a note to a note that already exists
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.
Rename Header
- shortcuts: none
Rename the selected header.
You must put the caret on the header you want to rename.
All wikilinks that link to this header (like [[note#header]]
) will automatically get updated to the new header.
Having the cursor within a header will also show a lightbulb for the Contextual UI Header Operations, which includes a Rename Note quick fix.
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
- Documentation
- Cookbook
- Troubleshooting
- CLI
- Commands
- Configuration
- Telemetry
- Topics
- Images
- Links
- Note Reference
- Refactoring
- Special Notes
- Tags
- Tasks
- Teams
- Vaults
- Workspace
- Commands
- VS Code Config
- Quickstart
- Schemas
- Configuration
- Quickstart
- Quickstart
- Preview
- Self Contained Vaults
- Native Workspaces
- Sync Gotchas
- Visualize Task Notes with Airtable
- Publishing Your Site
- duplicateNoteBehavior
- Making Your First Schema
- Migrating to Self Contained Vaults
- Export
- Publish
- Import
- Publish