A beautiful WYSIWYG Markdown editor powered by Tiptap. Edit markdown files with rich text experience and theme selection.
翻譯準備中
外掛TypeScript · JavaScriptGitHub @hoangvantuan自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
正在載入完整 README。 以下為已儲存的摘錄。
A beautiful WYSIWYG Markdown editor for VS Code, powered by Tiptap
Full WYSIWYG markdown editing with Tiptap + @tiptap/markdown (GFM support via MarkedJS). Format text using the glassmorphic toolbar or keyboard shortcuts, including underline with Ctrl/Cmd+U, which is saved as text so it still renders underlined on GitHub and in the VS Code preview. Ctrl/Cmd+Shift+M toggles between WYSIWYG and source view in both directions.檢視完整 README ↗A beautiful WYSIWYG Markdown editor for VS Code, powered by Tiptap
Features · Usage · Configuration · Themes · Export
Full WYSIWYG markdown editing with Tiptap + @tiptap/markdown (GFM support via MarkedJS). Format text using the glassmorphic toolbar or keyboard shortcuts, including underline with Ctrl/Cmd+U, which is saved as <ins>text</ins> so it still renders underlined on GitHub and in the VS Code preview. Ctrl/Cmd+Shift+M toggles between WYSIWYG and source view in both directions.
/ at the start of an empty line for a filtered list of blocks to insert (headings, lists, table, code block, Mermaid diagram, the five GitHub alerts, image, collapsible, quote, horizontal rule): for fuzzy-filtered emoji; the character is inserted as unicode, so the file keeps what you would have typed by hand[!NOTE], [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION] render as styled alert boxes; a title after the marker (> [!NOTE] Before you upgrade) replaces the label and is kept on save$inline$ and $$block$$ formulas render with KaTeX; the source on disk stays plain $...$<details>/<summary> collapse as they do on GitHub, and <kbd>, <sub>, <sup> render as themselves<details>/<summary> block from the toolbar or /; opening one to read it never writes open into your fileResizable tables with multi-line cell content. Right-click context menu for row/column operations, including column alignment (left, center, right), and fully operable from the keyboard with Tab, the arrow keys, Enter and Escape. Drag-select cells with visual highlight overlay.
/ → "Image from file…" or the toolbar; works in Remote SSH and WSL workspaceshttps: images of pasted HTML (tuiMarkdown.downloadRemoteImagesOnPaste, off by default)<img src alt width> so the size survives a roundtrip.svg)Cmd/Ctrl+F): find with match highlighting, next/prev navigation and a match counter; the replace row adds replace, replace all and a case-sensitive toggleCmd+Click / Ctrl+Click to follow links, scroll to headings, open files, or launch URLs[[wiki links]] or @ mentions; click one to open it[[ for autocomplete over the workspace's Markdown files; [[Page]] links resolve on click, and following one that does not exist offers to create it next to the current document[[Note#Heading]], [[#Heading]] and [text](other.md#heading) open the note scrolled to that heading@ to search any file in the workspace and insert a relative linkCtrl/Cmd +/-/0@ to autocomplete workspace filenames, inserts markdown link[^1] references are numbered, and hovering one previews its definitionAlt+↑ / Alt+↓ move the current block or list item; Ctrl/Cmd+Enter and Ctrl/Cmd+Shift+Enter insert an empty paragraph after or before it.md or .markdown fileThis extension registers itself as the default editor for .md and .markdown,
so those files open in WYSIWYG mode everywhere. If you would rather a particular
workspace opened them as plain text, for instance because a Git tool opens .md
diffs there, run Choose Default Editor for Markdown in this Workspace from the
Command Palette. It offers three choices, and each one is reversible from the same
entry:
The choice is written to workbench.editorAssociations in the workspace settings,
so it travels with the folder and not with your user profile. It is written once
per scheme the editor handles (file:, vscode-remote:, vscode-vfs: and unsaved
documents with a path), so a git diff or another extension's virtual markdown
document is not affected by it.
One-click export to Word .docx via mdast2docx. Preserves headings, lists, tables, code blocks, and images (mermaid diagrams rendered as PNG). Respects the active editor font.
WYSIWYG export via headless Chromium (puppeteer-core). Requires Chrome, Edge, Chromium, or Brave installed locally (not bundled). Auto-detects common install paths. The PDF carries a bookmark tree built from the headings.
[!TIP] If auto-detection fails, set
tuiMarkdown.chromiumPathin VS Code settings to the absolute path of your browser executable.
| Setting | Default | Description |
|---|---|---|
tuiMarkdown.fontSize | 16 | Editor font size (8–32px) |
tuiMarkdown.highlightCurrentLine | true | Enable cursor line highlight |
tuiMarkdown.imageSaveFolder | images | Folder for pasted images (relative to document). Accepts the variables below, e.g. images/${fileName} |
tuiMarkdown.downloadRemoteImagesOnPaste | false | Download https: images in pasted HTML into the image folder and link the local copies |
tuiMarkdown.imageFileNameTemplate | ${name} | File name for pasted/dropped images, without extension. Variables: ${fileName} ${name} ${date} ${now} ${random} ${uuid} ${ext} |
tuiMarkdown.autoRenameImages | true | Auto-rename image files when path changes |
tuiMarkdown.autoDeleteImages | true | Auto-delete images removed from markdown (Trash); asks first if another document still uses the image |
tuiMarkdown.autoHideToolbar | false | Auto-hide toolbar when typing |
tuiMarkdown.listIndent | "editor" | List and code block indent: editor follows VS Code, or 2, 4, tab |
tuiMarkdown.chromiumPath | "" | Chrome/Chromium path for PDF export |
tuiMarkdown.exportPageSize | A4 | Page size for PDF/DOCX export (A4 or Letter) |
tuiMarkdown.headingSizes.h1–h6 | 32–16 | Heading font sizes (12–72px) |
14 built-in themes with curated typography and color palettes:
| Theme | Style | Character |
|---|---|---|
| Frame | Light | Clean, modern default |
| Frame Dark | Dark | Blue-tinted, sharp |
| Nord | Light | Soft Arctic palette |
| Nord Dark | Dark | Official Nord colors |
| Crepe | Light | Warm serif reading |
| Crepe Dark | Dark | Warm serif, inverted |
| Catppuccin Latte | Light | Pastel warmth |
| Catppuccin Frappé | Dark | Subdued, muted |
| Catppuccin Macchiato | Dark | Medium contrast |
| Catppuccin Mocha | Dark | Rich, deep |
| Paper | Light | Serif, book-like |
| Midnight | Dark | Deep navy (#0d1117) |
| Notion | Light | Flat white page, callout-style alerts |
| Notion Dark | Dark | Notion's #191919 page, flat code blocks |
| Layer | Technology |
|---|---|
| Editor engine | Tiptap 3 + @tiptap/markdown |
| Markdown parser | MarkedJS (GFM) via @tiptap/markdown |
| Syntax highlighting | lowlight (highlight.js) |
| Diagrams | Mermaid 11 + ELK layout |
| DOCX export | mdast2docx + @m2d plugins |
| PDF export | puppeteer-core + remark/rehype pipeline |
| Build | esbuild |