Live and Markdown modes
One CodeMirror document behind both views, so switching preserves the caret, selection, scroll position, and undo history.
VS Code extension
Visp Notes turns the Markdown already in your workspace into a connected note system: live editing, wiki links, backlinks, checkbox tasks, and an interactive graph. No proprietary database, no network service, no second app to keep in sync.
In the editor
Live mode renders headings, quotes, callouts, tables, and fenced code as themselves, and hands the raw Markdown back on whichever line the caret is on. The text never leaves the document.
What it does
One CodeMirror document behind both views, so switching preserves the caret, selection, scroll position, and undo history.
Aliases, heading links, and block references with context-aware completion, exact-anchor navigation, and backlinks shown with their source context.
Ordinary checkboxes with optional due dates, priorities, and tags. Dashboards group them by due date, note, or tag without changing a line.
One- and two-hop local graphs plus a force-directed workspace graph with drag, pan, cursor-centred zoom, fit and centre controls, and non-destructive search.
A native before/after diff previews the change. The rename is staged, every affected source is revalidated, and the file name rolls back if anything fails.
The index is an in-memory projection rebuilt from your Markdown. Delete the extension and every note is still a plain file you can read anywhere.
Install
Visp Notes needs Visual Studio Code 1.96 or newer. It does not take over the Markdown files you already have.
Press Ctrl+Shift+X (Cmd+Shift+X on macOS) and search for Visp Notes. Or paste the install command into Quick Open:
ext install visp-code-note.visp-notes
Any workspace works. New notes are created under notes/ by default; change vispNotes.notesFolder to use another workspace-relative folder.
Run Visp Notes: New Note. New notes open in the Visp Notes editor in Live mode, and the toolbar switches to raw Markdown without changing editors.
Type [[ anywhere to fuzzy-search notes and aliases, then # for headings or ^ for block IDs. Ctrl+Shift+L (Cmd+Shift+L) inserts a link at the caret.
Your existing README.md keeps opening in VS Code's own text editor. To change that, run Visp Notes: Use Visp Notes as the Default Markdown Editor, which writes the standard workbench.editorAssociations setting and can be undone just as easily.
Conventions
Everything Visp Notes understands is syntax you could type by hand, and every file stays readable in any other editor.
[[Architecture decisions]]
[[Architecture decisions|system design]]
[[Architecture decisions#Indexing]]
[[Architecture decisions^parser-block]]
Add ^parser-block after a paragraph or heading to make it addressable.
> [!note] Current direction
> Keep files human-readable.
> [!warning] Migration needed
> The old index format is dropped.
Six tones — note, tip, important, warning, danger, success — with aliases resolving to the closest one.
- [ ] Prototype live editing @due(2026-07-22)
@priority(high) #product
Metadata is read without changing the line, so the checkbox stays a valid Markdown checkbox.
---
title: Architecture decisions
aliases: [ADRs, Design records]
tags: [engineering, architecture]
---
Rendered as a property block in Live mode. Tag edits from the context strip only ever touch frontmatter.
Reference
Visp Notes: New NoteVisp Notes: New TaskVisp Notes: Toggle TaskVisp Notes: Insert LinkVisp Notes: Show BacklinksVisp Notes: Open Local GraphVisp Notes: Open Workspace GraphVisp Notes: Toggle Live / MarkdownVisp Notes: Rename Note and Update LinksVisp Notes: Find Broken LinksVisp Notes: Rebuild IndexVisp Notes: Open TasksVisp Notes: Search Notes and TasksVisp Notes: Add TagVisp Notes: Remove TagVisp Notes: Use Visp Notes as the Default Markdown EditorVisp Notes: Restore the Built-in Markdown Text EditorvispNotes.notesFoldervispNotes.excludevispNotes.editor.fontFamilyeditor.fontFamily.vispNotes.editor.contentWidthvispNotes.graph.defaultDepthvispNotes.openRenderedAfterCreateData safety
Editor changes reach the extension host as ordered, narrow patches. The host keeps the newest draft, coalesces rapid typing, and validates the authoritative document before each write. An external change never silently replaces local typing — the editor asks whether to keep your draft or take the external version — and a draft that cannot be applied is stored so it survives a reload.
Also available
The VispNote desktop app covers the same local-first ground with canvases, reminders, novelist mode, and optional AI, on Windows, macOS, and Linux.