vs code 写 markdown 博客应选 6 个精准解决卡点的插件:1. markdown preview mermaid support 解决 mathjax 渲染失败;2. markdown all in one 修复目录跳转失效(需开启 toc.clickable);3. paste image 配合相对路径策略解决本地图片空白;4. markdown pdf 解决导出 pdf 格式错乱;5. markdown preview github styling 还原 typora 式阅读体验;6. live server + markdown-it 实现多人实时预览协作。

VS Code 里写 Markdown 博客,插件不是越多越好,而是得解决真实卡点:预览不同步、数学公式不渲染、目录跳转失效、导出格式错乱、本地图片路径崩、实时协作无响应。下面这 6 个插件,每个都对应一个具体问题,装错一个就白折腾。
mathjax 渲染失败?用 Markdown Preview Mermaid Support
原生 markdown-preview-enhanced 支持 MathJax,但 VS Code 更新后常报 MathJax is not defined,本质是 CDN 加载被拦截或版本冲突。这个插件把 MathJax 3.2+ 打包进本地,绕过网络和 CSP 限制。
- 必须禁用其他 Markdown 预览插件(尤其是
Markdown All in One的预览功能),否则双预览器抢控权 - 公式要用
$$...$$或\[...\],$...$行内公式默认关闭,需在设置里开markdown-preview-mermaid-support.mathInline - 渲染延迟比纯静态快约 40%,但首次加载会多 1.2s——适合长文,不适合秒编秒发的笔记
点击目录不跳转?检查 Markdown All in One 的 toc 命令绑定
很多人生成目录后点标题没反应,不是插件坏了,是 VS Code 把 Ctrl+Click 绑给了“转到定义”,覆盖了目录跳转。插件本身依赖 markdown.extension.toc.autoUpdate 和 markdown.extension.toc.clickable 两个开关。
- 打开设置搜
toc clickable,确认值为true - 右键目录 → “Open Link” 是备用方案,但不如直接点击顺手
- 如果用了自定义 heading 级别(比如只从
##开始),得同步改markdown.extension.toc.levels,否则###不进目录
本地图片显示空白?用 Paste Image 配合相对路径策略
Paste Image 默认存图到 ./images/ 并写绝对路径,一换机器或迁仓库就全挂。真正能落地的是“粘贴即存当前文件同级 assets/ 目录 + 相对引用”。
- 在设置里关掉
pasteImage.path的自动补全,手动填${currentFileDir}/assets/ - 确保
pasteImage.forceOverwrite为false,不然同名图反复覆盖,Git diff 全是二进制变更 - 不要用
这种写法——VS Code 预览器认,但 Hugo/Jekyll 构建时可能解析失败;统一用
导出 PDF 格式错乱?用 Markdown PDF 而非 Print to PDF
浏览器打印导出 PDF 会丢 CSS、截断长表格、公式变方块。插件 Markdown PDF 底层调用 Puppeteer,能复用你配置的 markdown.styles,且支持页眉页脚变量(如 ${date})。
- 导出前务必关掉所有未保存的编辑器标签页,否则它会把所有打开的 .md 文件一起打进去
- 中文需在设置里指定
markdown-pdf.pdfEngine为chrome,wkhtmltopdf对中文字体支持极差 - 导出速度慢(单文件约 8–12s),但生成的 PDF 字体嵌入完整,打印不糊
Typora 用户迁不过来?用 Markdown Preview GitHub Styling
不是所有程序员都爱 Typora,但它的样式干净、行距舒适、代码块阴影柔和。插件 Markdown Preview GitHub Styling 不是简单套壳,它复刻了 GitHub 的 CSS 变量体系,连 code 标签的字体栈都一致。
- 要生效必须重启 VS Code,热重载不触发样式重载
- 和
Markdown All in One兼容,但和Markdown Preview Mermaid Support冲突——后者自带样式层,优先级更高 - 不支持自定义主题色,想改蓝链接色?只能手动改插件目录下的
style.css
多人协同时实时预览失联?靠 Live Server + 自托管 preview
VS Code 插件预览全是本地服务,没法分享链接。真要协作看效果,得用 Live Server 搭个轻量 HTTP 服务,再配合 markdown-it CLI 实时编译。
- 在项目根目录建
preview.js,用markdown-it读取 .md 并注入 GitHub CSS,避免样式漂移 -
Live Server启动后访问http://127.0.0.1:5500/preview.html?file=blog.md,队友也能打开同一地址 - 注意关闭
markdown.preview.doubleClickToSwitchToEditor,否则双击预览区会切回编辑器,协作时很干扰
最麻烦的从来不是装插件,而是插件之间怎么共存——比如 Markdown All in One 和 Markdown Preview Mermaid Support 都想管预览,结果 math 渲染了但目录不跳;又比如 Paste Image 存图路径设错,导出 PDF 时图片全标成“missing”。这些细节不试一遍根本记不住。











