Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Markdown GoNew to Visual Studio Code? Get it now.
Markdown Go

Markdown Go

btsd321

|
3 installs
| (0) | Free
WYSIWYG Markdown editor for beginners
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Markdown Go

License: MIT

English | 简体中文

A WYSIWYG Markdown editor for VS Code, designed for users who don't want to learn Markdown syntax. What you see is exactly what you get — no #, *, or > symbols on screen.

Actively developed. Feedback and PRs are welcome.

Features

Editing experience

  • 🎯 WYSIWYG — Rendered output is shown directly; raw Markdown symbols are hidden
  • ➕ Line-start + button — One-click insert for headings (H1–H6, H4–H6 inside a submenu), paragraph, lists, blockquote, code block, divider, LaTeX, Mermaid, image, video
  • ⌨️ Slash menu — Type / to open the insert menu with fuzzy search (e.g. /h5, /mermaid)
  • 🫧 Bubble menu — Appears on selection: change block type, alignment, bold/italic/link, text color
  • 📋 Smart paste — Detects Markdown text, rich text, and images automatically
  • ↩️ Ergonomic shortcuts — Auto-continue lists on Enter, exit list on empty Enter, restore alignment / leave list on Backspace at line start

Block rendering

  • 🧮 LaTeX (KaTeX) — Block $$ … $$, double-click to edit source
  • 📊 Mermaid — Live diagrams, double-click to toggle source mode
  • 🖼️ Images — Local relative / absolute paths or remote URLs; localResourceRoots registered automatically
  • 🎬 Video / iframe — Insert <video> and <iframe> via URL or local file picker
  • 📐 Block alignment — Left / center / right for paragraphs, headings, images (serialized as <div align="…"> for GitHub compatibility)
  • 🎨 Inline text color — Serialized as <span style="color:…">

Display modes

Mode Description
edit WYSIWYG editing (default)
preview Read-only preview; all editing controls hidden
plain Show raw Markdown source

Integration

  • 📁 Explorer right-click — "Open with Markdown Go"
  • 🪟 Editor title / context menu — Same entry point
  • ⌨️ Keybinding Ctrl+Shift+M / Cmd+Shift+M (on Markdown files)
  • 🌍 English / Chinese UI — Follows VS Code display language or switch manually

Install & use

# Clone & build
npm install
npm run build

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

Once any .md file is open:

  • Run Markdown Go: Open With Markdown Go from the command palette (Ctrl+Shift+P)
  • Or right-click in the explorer / editor tab and choose Open with Markdown Go
  • Or press Ctrl+Shift+M

Commands

Command ID Title Description
markdownGo.openWith Open With Markdown Go Open the current Markdown with this extension
markdownGo.switchMode Switch Display Mode Cycle through edit / preview / plain
markdownGo.switchLanguage Switch Language Toggle English / Chinese UI

Configuration

Configure under markdownGo.* in settings.json:

Setting Type Default Description
markdownGo.language "zh-cn" \| "en" "en" Editor UI language
markdownGo.defaultMode "edit" \| "preview" \| "plain" "edit" Default display mode when opening a document
markdownGo.slashTrigger string "/" Character that triggers the slash menu
markdownGo.defaultCopyFormat "markdown" \| "plain" "markdown" Default copy format
markdownGo.keybindings object {} Override editor keybindings (command ID → chord or array)

Supported markdownGo.keybindings command IDs:

  • editor.undo / editor.redo
  • editor.enter / editor.softLineBreak
  • editor.backspaceAtStart
  • editor.indent / editor.outdent

Modifiers: Ctrl / Cmd / Shift / Alt, plus cross-platform Mod (Mac → Cmd, others → Ctrl). Use "" to unbind a default. Example:

"markdownGo.keybindings": {
  "editor.indent": "Tab",
  "editor.redo": ["Mod+Y", "Mod+Shift+Z"]
}

Project structure

markdown-go/
├── src/                    # Extension side
│   ├── extension.ts        # Entry & command registration
│   └── editorProvider/     # Custom editor provider
├── webview/                # Webview side (Tiptap editor)
│   ├── index.ts            # Entry
│   ├── core/               # Bridge & command registry
│   ├── tiptap/             # Tiptap nodes / extensions / menus / Markdown serialization
│   ├── ui/                 # Dialogs and other UI
│   ├── runtime/            # Runtime helpers (image resolution, etc.)
│   ├── i18n/               # Webview i18n
│   └── styles/             # Stylesheets
├── shared/                 # Shared types between extension & webview
├── scripts/                # Build scripts (esbuild)
├── assets/                 # Static assets
└── agent_docs/             # Design / requirements / task docs

Tech stack

  • TypeScript + VS Code Extension API
  • esbuild — bundler
  • Tiptap 2 / ProseMirror — editor core (schema, cross-block selection, undo/redo)
  • prosemirror-markdown + markdown-it (commonmark) — Markdown ↔ ProseMirror round-trip
  • KaTeX — LaTeX rendering
  • Mermaid — diagram rendering

Development

npm install            # install dependencies
npm run build          # one-shot build
npm run watch          # incremental watch build
npm run typecheck      # type-check both extension & webview projects
# Press F5 to launch the Extension Development Host

Reference projects

This project draws inspiration from these excellent VS Code Markdown extensions:

  • Markdown All in One
  • Markdown Preview Mermaid Support
  • LaTeX (vscode-latex)
  • Markdown+Math (mdmath)

License

Released under the MIT License.

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