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 |