VSCode原生Markdown预览非实时,仅保存后刷新;需配置files.autoSave和markdown.preview.autoRefresh,并确保文件为.md、语言模式为Markdown、快捷键在编辑器中触发、无插件劫持。

VSCode 原生 Markdown 预览不是实时的,它只在文件保存后刷新——这不是故障,是默认行为。想接近“边写边看”,必须组合配置 files.autoSave 和 markdown.preview.autoRefresh,并确认没被插件劫持。
Ctrl+Shift+V 没反应?先查这四个硬性前提
快捷键失效几乎从不因为功能被禁用,而是触发条件没满足:
-
markdown.preview.enabled必须为true(默认开启,但 Remote-SSH 或某些安全策略可能重置) - 当前文件后缀必须是
.md或.markdown;.txt、无后缀或大小写错误(如.MD)都不行 - 右下角状态栏语言模式必须显示 “Markdown”;如果不是,点它 →
Change Language Mode→ 选Markdown - 快捷键只对已打开的编辑器标签页生效,不能在资源管理器里直接按;Vim/Emacs 插件常吞掉
Ctrl+Shift+V,临时禁用再试
预览内容卡在旧版本?根本原因是文件没保存
VSCode 预览读的是磁盘文件,不是编辑器内存缓冲区。未保存的修改它完全看不见:
将PDF文件(含扫描件、图片)转换为Markdown格式。接入MinerU和PaddleOCR双引擎,支持扫描件OCR识别、公式表格解析、多语言识别。兼容本地OCR识别。
-
markdown.preview.autoRefresh默认为true,但它只对**已保存的文件**起作用 - 右上角那个
↻刷新按钮只是重载 HTML 渲染层,不读新内容;文件没保存,点它无效 - 要减少手动
Ctrl+S,设files.autoSave为onFocusChange或afterDelay - 如果用了
Markdown Preview Enhanced等第三方插件,它可能接管了刷新逻辑,导致原生行为异常;排查时建议先禁用所有非官方 Markdown 插件
数学公式、Mermaid 图表不显示?开关默认全关
原生预览支持 CommonMark 标准语法,但扩展能力全部需手动启用,且有严格格式要求:
- LaTeX 公式:设
markdown.math.enabled为true(VS Code 1.84+),公式块前后必须空行,$$E = mc^2$$才有效;行内公式$E = mc^2$需额外开启markdown.extension.math.inlineEnabled(若装了Markdown All in One) - Mermaid 图表:原生预览根本不支持;必须装
Markdown Preview Enhanced并在设置中勾选Enable Mermaid,代码块语言声明必须是mermaid,例如:graph LR\nA --> B
- 脚本和内联样式被拦截?检查
markdown.preview.security是否为strict;若需 KaTeX 或 Mermaid 渲染,还得设markdown.preview.enableScripts为true(仅限本地可信文档)
中文标题点击跳转失败?锚点生成规则很苛刻
原生预览对中文、标点、空格的锚点转换兼容性差,生成的 id 常为空或非法,导致点击无响应:
- 不依赖插件也能缓解:启用
markdown.preview.enableExtendedAutolinks和markdown.preview.enableScripts - 更彻底的解法是装
Markdown All in One并开启其githubCompatibilityMode,它会按 GitHub Flavored Markdown 规则生成锚点,中文标题就能正常跳转 - 注意:该模式会影响已有自定义锚点(如
<a id="xxx"></a>),切换前建议备份
最常被忽略的其实是路径解析逻辑:预览中 ./img.png 的 . 指向的是 .md 文件所在目录,不是工作区根目录;而 CSS 样式路径(markdown.preview.styles)却必须相对于工作区根目录。这两套路径规则混用,是图片加载失败和样式空白的根源。

















