Bullet Journaling
Bullet journalling is a way of quickly getting your thoughts down for the day. In many ways, its more akin to a GTD and task management than traditional journalism.
Kevin's Workflow

Features Used
Create Daily Journal Notes Command
The daily journal helps you keep a journal for each day of the year. By default, it will create the journal under daily.{date}
though this is configurable by setting the dendron.dailyJournalDomain
.
You can create a daily journal using > Dendron: Create Daily Journal Note
or Cmd+Shift+I
shortcut.
Sibling Navigation Command
- shortcuts:
- key:
ctrl+shift+]
- when:
editorFocus
- key:
Go to the next sibling
Schema Templates
a template you can apply to all notes that match this schema. See Schema Templates for more details.
template:
# identifier for the template (for a note based template, it would be the name of the note)
id: journal.template.daily
# what sort of template we are creating. currently, only 'note' is supported
type: note
VSCode Commands
Move Editor Command
You can move vscode tabs using the following builtin commands:
View: Move Editor Into Next Group
View: Move Editor Into Previous Group
They are mapped on to the following keyboard shortcuts:
- mac:
cmd+ctrl+left|right
This is helpful for looking at your notes side by side.

Pinning Tabs
You can pin tabs in VSCode by right clicking on a tab and selecting Pin Tab
.
The latest VSCode lets you control pin behavior for tabs. It's not currently documented as of 2020.09.28 but as of the latest insider build, it has a few different options to control the pinned behavior.
- options:
- normal (default), normal tab size with a pin icon
- shrink: reduced tab size with some text visible
- compact: only icon visible
"workbench.editor.pinnedTabSizing": "shrink"
Zen Mode
VSCode can be visually noisy. You can hide most of the UI by toggling Zen Mode
with a three panel layout.
The following setting overrides are useful:
// by default, zen mode will open a new "workspace" which I don't like
"zenMode.fullScreen": false,
// I'm a vim user so I like my line numbers
"zenMode.hideLineNumbers": false,
To navigate tabs and look at the breadcrumb outline, You can use the following commands
workbench.action.showAllEditors -> (no shortcut by default, consider mapping to ctrl + t)
breadcrumbs.focusAndSelect -> cmd + t
You can see a video of this workflow in the video below.

Always show preview of md being edited
Set the following option in your workspace settings
"markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": true,
Snippets
Have links auto-complete without additional key presses
- Update your settings to the following
// The following settings will only apply to markdown files:
"[markdown]": {
// quickSuggestions true will provide suggestions as you type.
// If you turn this on and DO NOT want suggestions
// for non-wiki-link, non-tag words,
"editor.quickSuggestions": true,
// This is poorly documented, but seems to offer suggestions
// from any word in open document when turned on, which
// can be a little distracting in markdown docs:
"editor.wordBasedSuggestions": false,
"editor.tabSize": 2,
// Set this to false if you turn on quickSuggestions
// but don't want suggestions for markdown related snippets
// as you type:
"editor.suggest.showSnippets": false,
},
Markdown
Always have the preview open
You can add the following setting to your workspace to always have a markdown editor show up with your content.
"markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": true,
Symbol search
When using the standard file-search in vscode (ctrl-P
), you can search for all titles in your workspace if you use the starting keyword #
Example: if i know i had a header with the title "cheatsheet", i can type in # cheatsheet
Auto bullet list
VSCode doesn't support auto-formatting by default. You can use the following workaround to mimic the behavior.
- Add list-item below current position. Using
-
{
"key": "shift+enter",
"command": "type",
"args": {
"text": "\r\n- "
},
"when": "editorTextFocus && !editorReadOnly && editorLangId == 'markdown'"
}
- Add list-item below current position. Using
*
{
"key": "shift+enter",
"command": "type",
"args": {
"text": "\r\n* "
},
"when": "editorTextFocus && !editorReadOnly && editorLangId == 'markdown'"
}
Credit for this recipe goes to @Stigs#0135
Other Tools
This is a list of other tools that work well with Dendron.
- nvAlt: local markdown editor that works well with Dendron notes (mac only)
Other VSCode Extensions
Git
- Git Automator: one command to commit and push all changes
- Git Doc: auto-commit and (optionally) auto push your notes at fixed intervals
- Gitlens: Repository/File/Line history and annotations of all your files
- Path AutoComplete: Path autocomplete for VSCode
Other
- Macros: Define custom macros
- Vim: VIM key bindings 😍
- Bookmarks: Bookmark lines within File Vertical Limit: Work with multiple cursors and blocks of text
- CodeUI: Easier customization of every part of the VSCode UI
Other Browser Extensions
Web Clipper
- Markdown Web: markdown based web clipper
- Roam Highlighter
Kevin's Workflow Part 2
By popular demand, here's an expanded take on how Kevin uses journals in Dendron