Attach quick, private notes to any line of code or text. Notes never touch
the file — they're not comments, they're not inserted into the buffer, and
they are never written anywhere inside the project folder. Nothing about
them can end up in a diff, a commit, or a git status.
Why this is safe from git
Notes are stored as JSON entirely under VS Code's per-extension global
storage directory (outside every workspace folder), one file per
workspace. There's no .gitignore to maintain and nothing to accidentally
git add -A.
Usage
Ctrl+Alt+N (Cmd+Alt+N on Mac) — add or edit a note on the current line.
Ctrl+Alt+M (Cmd+Alt+M on Mac) — manage (edit/delete) the note on the
current line.
- Right-click in the editor → Local Dev Comments: Add Note.
- Lines with a note get a small gutter icon and a subtle background
highlight (visual indicator only — VS Code's stable API doesn't support
hover or click events on gutter/decoration icons, so they can't carry the
note content directly).
- A small CodeLens line appears directly above each noted line showing a
preview plus Edit / Delete links — click either to act on the
note. Toggle it off with
localDevComments.showCodeLens if you'd rather keep just
the gutter indicator.
- The Local Dev Comments activity bar icon opens a sidebar listing every note in
the workspace, grouped by file — click one to jump to it.
- Clearing a note's text (leaving the input empty) deletes it. Deleting shows
an "Undo" toast.
- Local Dev Comments: Clear Notes in This File (Command Palette or editor
right-click menu) removes every note in the current file in one action —
the fast way out if notes pile up faster than you want to clean them up one
at a time. Also shows an "Undo" toast.
How notes stay attached as code changes
Each note stores the line number and the trimmed text of that line at save
time. While you type, note positions shift live with your edits. When a file
changes outside a live editing session (git pull, git checkout, an
external tool), the note is re-anchored on open/save by searching nearby
lines for its original text. If it truly can't be found, the note is flagged
"unanchored" (red gutter icon) rather than silently guessing the wrong line.
Development
npm install
npm run compile # bundle with esbuild
npm run watch # rebuild on change
Press F5 in VS Code to launch an Extension Development Host with the
extension loaded.