Skip to content

Creating a VSCode Second Brain

· 8 min

I have been diving into the topic of a “second brain”, a method of saving and linking our ideas, insights and thoughts. I was interested in this for a few reasons:

This post shares takes a look at some of the tools, workflows and observations I’ve discovered along the way.

🗣 High Level Workflow#

I wanted to keep my workflow fairly simple:

🔧 Tools#

Based on my research there were many tools that people were using for capturing their knowledge such as Roam Research, The Archive, Obsidian, Foam, Dendron, Notable, Joplin and Notion.

I had a set of my own requirements for the tool I wanted to use:

Of all the tools I tried, Foam came the closet to what I chose. It’s a simple tool, just a VS Code extension that brings in a few other plugins for working with markdown documents.

Joplin was also close, I like that you could click a button to edit notes in VSCode, and they have a really nice iOS + Android app.

The advantage for me is that VSCode is already my editor of choice, so I am already efficient with using it. Foam gave me the inspiration to piece together my own VS Code Second brain based on plugins that already existed.

Below is a list of the plugins I now use for my VSCode Second Brain, with some of the main features they provide.

🔌 VSCode Extensions#

Markdown All in One#

Features:

Markdown All In One Todo Management

Markdown All In One Todo Management

Markdown All In One URL Pasting

Markdown All In One URL Pasting

Markdown Checkboxes#

Features:

Markdown Preview Github Styling#

Github Markdown Preview

Github Markdown Preview

Features:

Markdown Memo svsool.markdown-memo#

Features:

Paste Image#

Features:

Recommended Settings:

{
"pasteImage.defaultName": "${currentFileNameWithoutExt}-Y-MM-DD-HH-mm-ss",
"pasteImage.path": "${projectRoot}/assets/images"
}

Features:

Markdown Links Graph Visualization

Markdown Links Graph Visualization

Emoji#

Features:

Markdown Emoji

Markdown Emoji

Features:

Expand URL

Expand URL

VSNotes#

Features:

Quick Create New Note

Quick Create New Note

Recommended Settings:

{
"vsnotes.noteTitleConvertSpaces": "-",
"vsnotes.tokens": [
{
"type": "datetime",
"token": "{dt}",
"format": "YYYYMMDDHHmm",
"description": "Insert formatted datetime."
},
{
"type": "title",
"token": "{title}",
"description": "Insert note title from input box.",
"format": "Untitled"
},
{
"type": "extension",
"token": "{ext}",
"description": "Insert file vsnotes.",
"format": "md"
}
]
}
{
"Header": {
"scope": "markdown",
"prefix": "head",
"body": [
"---",
"id: '${CURRENT_YEAR}${CURRENT_MONTH}${CURRENT_DATE}${CURRENT_HOUR}${CURRENT_MINUTE}'",
"tags: []",
"related: []",
"from:",
"---",
"",
"# ${1:title}",
],
"description": "The default note template"
}
}
{
"vsnotes.defaultSnippet": {
"langId": "markdown",
"name": "Header"
}
}
[
{
"key": "alt+shift+n",
"command": "vsnotes.newNote",
},
]

Quick Extension Setup#

If you want a quick way to setup extensions:

{
"recommendations": [
"bierner.markdown-checkbox",
"bierner.markdown-preview-github-styles",
"mushan.vscode-paste-image",
"perkovec.emoji",
"skn0tt.markdown-link-expander",
"svsool.markdown-memo",
"tchayen.markdown-links",
"yzhang.markdown-all-in-one",
"patricklee.vsnotes",
]
}

📱 Editing Markdown on iOS#

To make sure I could make notes or add to do’s when I was on the go, I needed a way to work with the markdown documents on my iPhone.

1Writer was the app I chose:

1Writer iOS App Interface

1Writer iOS App Interface

🤔 Impact#

I’ve already noticed several positive things in my first few weeks of using this system.

Conclusion#

So far my experiment with using VSCode as a second brain has been fairly successful. I can see myself sticking the workflow for a while and tweaking the things based on things I discover along the way.

The next thing I want to work on is a way to dictate notes to my Apple Watch when I am out on a bike ride and have them be inserted into my inbox.md. It’s always the places that it’s hard to take notes where you come up with the ideas. 🚿