Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>dossierNew to Visual Studio Code? Get it now.
dossier

dossier

karan_jaswal_dev

|
1 install
| (0) | Free
A Notion-like block editor inside VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Dossier

A Notion-like block editor inside VS Code. Create rich pages with structured blocks, link them in a nested hierarchy, and export to markdown — all without leaving your IDE.

Features

Block Editor

  • 15 block types — paragraph, headings (H1-H3), bullet list, numbered list, to-do, code (syntax highlighted), callout, toggle, table, divider, image, page link, mermaid diagram
  • Slash commands — type / to insert any block type with filtering
  • Inline formatting — bold, italic, code, strikethrough, links
  • Markdown paste — paste markdown text and it auto-converts to proper blocks
  • Copy as markdown — copied blocks produce clean markdown in external apps

Pages & Navigation

  • Page hierarchy — nest pages as children, navigate via sidebar tree or breadcrumbs
  • Page linking — @ or [[ triggers insert inline link chips or full-width cards
  • Drag-and-drop — rearrange pages in the sidebar (with circular reference prevention)
  • Back/forward — Alt+Left / Alt+Right navigation history
  • Search — full-text search across all pages with highlighted results

Data Management

  • Version history — automatic snapshots with restore via QuickPick
  • Trash — soft delete with 30-day retention, restore or permanent delete
  • Image handling — paste or drop images, drag-to-resize
  • Templates — save pages as templates, create new pages from them
  • Markdown export — single page or bulk export preserving directory hierarchy
  • Auto markdown sync — optionally mirror pages as .md files on every save
  • Atomic writes — crash-safe saves via tmp+rename
  • Read-only protection — .dossier files are marked read-only at the OS level to prevent manual edits

Developer Experience

  • Theme-aware — adapts to VS Code light, dark, and high-contrast themes
  • Workspace or global storage — store pages per-project (.dossier/) or globally
  • Git-friendly — each page is a separate JSON file; .gitignore suggestions included

Getting Started

Prerequisites

  • VS Code v1.85+
  • Node.js v18+

Install & Run

git clone https://github.com/karan62kj/dossier.git
cd dossier
npm install

Press F5 in VS Code to launch the Extension Development Host.

Commands

Command Description
Dossier: Init Workspace Set up .dossier/ folder
Dossier: Create Page Create a new page
Dossier: Create Child Page Nest a page under another
Dossier: Rename Page Rename an existing page
Dossier: Delete Page Soft-delete a page
Dossier: Search Pages Full-text search across pages
Dossier: Export Page as Markdown Export single page to .md
Dossier: Export All Pages as Markdown Bulk export preserving hierarchy
Dossier: Restore from History Restore a previous version
Dossier: Save as Template Save page as reusable template
Dossier: New Page from Template Create page from a template
Dossier: Insert Link Insert/edit a hyperlink

Keyboard Shortcuts

Shortcut Action
Ctrl/Cmd+B Bold
Ctrl/Cmd+I Italic
Ctrl/Cmd+E Inline code
Ctrl/Cmd+K Insert link
Ctrl/Cmd+Shift+S Strikethrough
Ctrl/Cmd+Shift+1-3 Heading 1-3
Ctrl/Cmd+Shift+4 Toggle to-do
Ctrl/Cmd+Shift+5 Toggle bullet list
Ctrl/Cmd+Shift+6 Toggle numbered list
Ctrl/Cmd+Shift+7 Toggle code block
Ctrl/Cmd+D Duplicate block
Ctrl/Cmd+Shift+Delete Delete block
Alt+Left/Right Back/forward navigation
/ Open slash command menu
@ or [[ Open page link picker

Settings

Setting Default Description
dossierEditor.storageMode workspace workspace stores in .dossier/ inside the workspace; global uses VS Code's global storage
dossierEditor.autoExportMarkdown false Auto-export pages to .dossier/md/ as markdown on every save

Architecture

Two isolated runtimes communicating via postMessage:

Host (Node.js)                    Webview (Browser)
├── extension.ts                  ├── main.tsx
├── providers/                    ├── App.tsx
│   ├── DossierEditorProvider.ts    ├── Editor.tsx
│   ├── PageTreeProvider.ts       ├── components/
│   ├── TrashTreeProvider.ts      ├── extensions/
│   └── SearchViewProvider.ts     ├── utils/
├── services/                     │   ├── serialization.ts
│   ├── StorageService.ts         │   ├── markdownParser.ts
│   ├── SearchService.ts          │   └── markdownSerializer.ts
│   ├── HistoryService.ts         └── styles/
│   ├── TemplateService.ts
│   ├── MarkdownExporter.ts
│   └── NavigationService.ts
└── models/ (shared types)
    ├── types.ts
    └── messages.ts

Storage Layout

.dossier/
├── index.json           # Page manifest
├── pages/               # One JSON file per page
├── assets/              # Pasted/dropped images
├── history/             # Version snapshots
├── trash/               # Soft-deleted pages
├── templates/           # Saved page templates
└── md/                  # Auto-exported markdown (if enabled)

Build Scripts

npm run build          # Production build (host + webview)
npm run watch          # Dev mode — watches both pipelines
npm run build:host     # esbuild → dist/extension.js
npm run build:webview  # Vite → dist/webview/

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft