A notes panel that lives in the Activity Bar. Jot quick notes, to-dos, and scratch
text without leaving your editor — and keep them in a folder outside your
projects, so notes never end up tracked in a work repository.
One panel shows your list of notes; click a note to edit it right there in the same
panel. Notes are plain text files (.md, .txt, and a few other text formats) in a
folder you choose, so they're yours to read, sync, or back up however you like.
Features
- Notes in the sidebar — a dedicated Activity Bar view with a list of your notes,
sorted by most recently edited.
- Edit in place — click a note to switch the panel to an editor; click ← to go
back to the list. No extra tabs or windows needed.
- Formatting toolbar — Markdown notes get bold / italic / heading / list / quote /
code / link buttons that wrap your selection.
- Line numbers — an optional gutter (on by default); click a line number to select
that whole line. Long lines word-wrap either way, and the numbers stay aligned.
- Group by tag — put
#tags in a note's name (e.g. Sprint plan #work) and the
list groups into collapsible sections by tag. No tags? The list stays flat.
- Autosave — edits save automatically as you type (debounce is configurable), and
always flush when you switch notes or hide the panel, so nothing is lost.
- Several text formats — create or open notes as
.md, .markdown, .txt,
.text, .org, .rst, or .log; the list shows them all.
- Open in a full editor tab — one click opens the note as a normal file, with
native Markdown preview for
.md.
- Stays out of your repos — notes live in a folder of your choosing, outside any
workspace, so there's nothing to gitignore.
- Follows your theme — the panel uses your VS Code colors and editor font.
- Picks up external changes — edit a note file outside the editor and the panel
refreshes; your unsaved edits in the panel are never clobbered.
Getting started
- Open the Side Notes view from the Activity Bar (the note icon).
- If your notes folder doesn't exist yet, click Create folder.
- Click ➕ to create your first note, give it a name, and start typing.
By default notes are stored in ~/Notes. Change this any time in Settings (see below).
Add one or more #tags anywhere in a note's name and the list groups notes into
collapsible sections by tag:
Sprint plan #work → groups under #work
Reading list #personal #books → appears under both #personal and #books
The tag is part of the filename, so it sticks across renames and is visible in any
other tool. Notes with no tag fall under an Untagged section. If you don't use
tags at all, the list stays a simple flat list.
Settings
| Setting |
Default |
Description |
sideNotes.notesFolder |
~/Notes |
Folder where note files are stored. ~ expands to your home directory. Kept outside any project by design. Created on demand. |
sideNotes.defaultFormat |
md |
File extension used for newly created notes (md, markdown, txt, text, org, rst, or log). The list shows notes in any of these formats regardless of this setting. |
sideNotes.autoSaveDelayMs |
750 |
How long to wait (in milliseconds) after you stop typing before a note autosaves. Minimum 200. |
sideNotes.showLineNumbers |
true |
Show a line-number gutter in the editor; click a number to select that line. |
The ⚙ button in the panel header opens these settings directly.
Commands
- Side Notes: New Note (
sideNotes.newNote)
- Side Notes: Refresh (
sideNotes.refresh)
- Side Notes: Reveal Notes Folder (
sideNotes.openNotesFolder)
Notes are just files
Every note is a real text file (.md, .txt, .org, …) in your notes folder. That
means you can:
- back them up, sync them with any cloud folder, or keep them in their own git repo;
- open and edit them with any other tool;
- delete from the panel (deletes go to the trash, so they're recoverable).
Privacy
Side Notes works entirely on your machine. It reads and writes files only in the
notes folder you configure. It makes no network requests and collects no telemetry.
License
Released under the MIT License.