Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>Markdown WrightNew to Visual Studio Code? Get it now.
Markdown Wright

Markdown Wright

Eric Xu

| (0) | Free
Live-preview Markdown editing for VS Code. Edit the source while headings, tables, diagrams, and math render inline.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Markdown Wright

Live Markdown editing that never rewrites your source.

Markdown Wright renders your Markdown inline as you type — headings, tables, images, Mermaid, math — while you edit the real .md text. Syntax markers hide on inactive lines and reveal the moment your cursor enters, so it feels like a rendered document but you're always editing plain Markdown.

It opens .md files directly (a custom editor — no separate preview pane), right inside your repo.

Why it's different

Most "rich" Markdown editors are WYSIWYG: they load your file into a rich-text model and re-serialize it on save — which can silently reformat your Markdown (reordered attributes, converted tables, normalized whitespace). Markdown Wright is the opposite by design:

  • Edits the source, not a copy. There's no rich-text model. You're editing the actual Markdown text — always.
  • Byte-exact. It never re-serializes, so your file only changes where you type. No surprise reformatting, clean git diffs.
  • Plain-text muscle memory. Everything is still Markdown — copy/paste, multi-cursor, and your habits just work.
  • In VS Code, in your repo. Your files stay in place and git-tracked; nothing is imported into a separate store.
  • Opt-in, never intrusive. Registered as priority: "option" — it won't hijack .md unless you ask it to.

If you want a Word-like WYSIWYG surface, other extensions do that. If you want your Markdown rendered live without ever touching your source, that's this.

Features

Live-preview editing

  • Edit the actual Markdown text; syntax markers hide on inactive lines and reappear when your cursor enters an element.
  • Byte-exact — no rich-text model, no re-serialization, so your source is never rewritten.
  • Follows your VS Code theme (light / dark / high-contrast) and font.

Rich rendering, inline

  • Headings, bold/italic/strikethrough, inline code, blockquotes, horizontal rules, and code blocks.
  • Task lists with clickable checkboxes.
  • Tables (GFM), images (local + remote), links (Ctrl/Cmd-click to open).
  • Mermaid diagrams, math (KaTeX, $…$ and $$…$$).
  • GFM callouts — > [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION] render as colored boxes.
  • Each renderer can be toggled off individually.

Authoring tools

  • Formatting toolbar (bold/italic/strike/code, headings, lists, quote, link, and a Table split-button).
  • Keyboard toggles: Bold Ctrl+B, Italic Ctrl+I.
  • Smart lists — Enter continues -/1. markers (auto-numbering), empty item exits, Tab/Shift+Tab indent.
  • Paste a URL over selected text → turns it into a Markdown link.
  • Insert Table and Paste as Table (converts copied CSV/Excel cells).
  • Paste or drag-and-drop an image → saved next to the document and linked automatically.

Navigation & quality

  • Find / Replace widget (Ctrl+F / Ctrl+H) with match-case / whole-word / regex.
  • Go to Line (Ctrl+G) and Go to Heading (Ctrl+Shift+O).
  • Optional line-number gutter; word count + reading time in the status bar.
  • markdownlint issues in the Problems panel, with a Fix All command.

Export

  • Export to HTML — a fully self-contained, offline file (math + diagrams embedded; no CDN needed to view it).

Getting started

  • Per file: right-click a .md tab → Reopen Editor With… → Markdown Wright.
  • Automatically: enable Markdown Wright: Open Markdown As Rendered — every .md opens in Markdown Wright (manages workbench.editorAssociations).

Keybindings

Action Key
Bold / Italic Ctrl+B / Ctrl+I
Find / Replace Ctrl+F / Ctrl+H
Find next / previous F3 / Shift+F3
Go to Line Ctrl+G
Go to Heading Ctrl+Shift+O

Settings

Setting Default Description
markdownWright.openMarkdownAsRendered false Auto-open all .md in Markdown Wright.
markdownWright.fontFamily "" Reading font (empty = VS Code UI font). Code stays monospace.
markdownWright.fontSize 0 Content font size in px (0 = editor font size).
markdownWright.showLineNumbers false Show a line-number gutter.
markdownWright.showToolbar true Show the formatting toolbar.
markdownWright.enableMermaid / enableMath / enableImages / enableTables true Toggle individual inline renderers.
markdownWright.imageSaveDir "" Folder (relative to the file) for pasted images.
markdownWright.lint true Lint with markdownlint (Problems panel).

Known limitations

Because this is a webview-based custom editor (not a text editor), a few native VS Code integrations don't apply to it:

  • AI assistants (Copilot Chat, Claude Code, etc.) that read the active text editor won't see a file open in Markdown Wright as the "active file" for their context, because activeTextEditor is empty for custom editors. Options: use Open in Text Editor (toolbar 📄 icon, tab right-click, or the Markdown Wright: Open in Text Editor command); attach the file manually in the AI tool (#file in Copilot, @file in Claude Code / Continue / Cody — this works because the document still exists); or keep the default off so .md opens as text unless you ask for the rendered view.
  • Find-in-files results and the global Go to Line open the file but don't scroll inside the rendered view ([VS Code #211351](https://github.com/microsoft/vscode/issues/211351)). Use the built-in Find (Ctrl+F) / Go to Line (Ctrl+G), or Reopen With → Text Editor.

Both are inherent to the custom-editor approach; the extension stays opt-in (priority: option) so none of this is forced on you.

Development

npm install
npm run build      # or: npm run watch
npm test           # round-trip fidelity tests

Press F5 to launch the Extension Development Host.

License

MIT. Bundled open-source components are listed in THIRD-PARTY-NOTICES.md.

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