vscode原生markdown预览非实时渲染,需手动启用数学公式、mermaid、中文标题链接等功能;ctrl+shift+v无效常因文件未识别为markdown或快捷键被劫持;实时预览需配合自动保存与autorefresh配置,工程级需求推荐markdown preview enhanced插件。

VSCode 原生支持 Markdown 预览,但「支持」不等于「开箱即用的实时渲染」——它默认是静态快照式预览,不自动刷新、不渲染数学公式、不解析 Mermaid,且中文标题链接、裸 URL 等基础交互默认被禁用。
Ctrl+Shift+V 没反应?先确认这三件事
这不是插件没装的问题,而是 VSCode 根本没把当前文件识别为 Markdown:
- 文件后缀必须是
.md(.markdown不触发,无后缀更不行) - 右下角状态栏语言模式必须显示
Markdown(不是 Plain Text;可按Ctrl+K M手动设) -
markdown.preview.enabled必须为true(极少数远程环境或安全策略会关掉)
快捷键被劫持也很常见:Vim/Emacs 插件、输入法、甚至某些键盘映射工具都可能吞掉 Ctrl+Shift+V。临时禁用插件或改用命令面板:Ctrl+Shift+P → 输入 Markdown: Open Preview to the Side。
为什么改了文字预览不动?根本原因在“保存”和“刷新逻辑”
VSCode 原生预览读的是磁盘文件,不是编辑器内存缓冲区。未保存的内容不会进入预览流程——这是设计,不是 bug。
- 按
Ctrl+S保存后,若仍不刷新,检查markdown.preview.autoRefresh是否为true(默认开启,但可能被覆盖) - 右上角的刷新按钮(↻)只重载 HTML,不重新读取文件内容,解决不了“没保存”这个前提
- 想接近 Typora 式体验:设
files.autoSave为onFocusChange或afterDelay,再确保markdown.preview.autoRefresh开启
注意:markdown.preview.autoShowPreviewToSide 只控制是否自动弹出面板,不改变刷新行为。
数学公式、Mermaid、中文标题点不开?不是语法错,是开关没开
这些功能默认全部关闭,需手动启用对应配置项:
- LaTeX 公式块:开启
markdown.math.enabled,且必须用空行包裹$$E = mc^2$$;行内公式$E = mc^2$还需额外开启markdown.extension.math.inlineEnabled(如果用了 Markdown All in One) - Mermaid 图表:原生预览需开启
markdown.mermaid.enabled(VS Code ≥ 1.86),且代码块必须写成```mermaid,不能是```mmd或其他别名 - 中文标题可点击、裸 URL 自动变链接:必须启用
markdown.preview.enableExtendedAutolinks和markdown.preview.enableScripts(仅限本地可信文档)
路径类配置(如 markdown.preview.styles)务必用正斜杠 / 或双反斜杠 \,C:xxx 会静默失败。
真正要“实时+公式+图表”,绕不开 Markdown Preview Enhanced
原生预览无法满足工程级写作需求。MPE 是目前唯一稳定支持热更新、LaTeX、Mermaid、PlantUML、自定义 CSS 与导出 PDF 的方案:
- 安装后必须重启 VSCode,首次打开
.md文件会提示初始化,选Yes - 预览快捷键是
Ctrl+K V(不是Ctrl+Shift+V),编辑时 300ms 后自动刷新,无需保存 - 关键设置必须写对字段名:
markdown-preview-enhanced.enableExtendedSyntax控制公式与扩展语法,markdown-preview-enhanced.mermaidPath需指向全局安装的mermaid-cli(npm install -g mermaid-cli) - 别装
Markdown Preview Mermaid Support这类单功能插件——它和 MPE 冲突,会导致预览崩溃
最常被忽略的细节:MPE 的设置只在用户设置或工作区设置中生效,且一旦填错字段名(比如少个连字符),就完全静默失效,没有任何报错提示。











