VS Code Markdown 预览问题主要由三个配置导致:自动刷新需开启 markdown.preview.autoRefresh 和 markdown.preview.refreshOnSave;数学公式需启用 markdown.math.enabled 并规范语法;代码块高亮依赖准确语言 ID,如 json 而非 JSON。

markdown.preview.autoRefresh 默认在 VS Code 1.80+ 是开启的,但升级或重装后常被重置——很多人以为预览不实时,其实是这个开关关了。
预览不自动刷新?先查这两个设置
VS Code 内置预览不是 Typora 那种毫秒级响应,但保存即刷新是基本体验。如果改完文字要手动点刷新,大概率是以下两个设置没对:
-
markdown.preview.autoRefresh:控制「编辑时是否自动刷新」,必须为true -
markdown.preview.refreshOnSave:控制「保存后是否强制刷新」,建议也设为true(尤其在远程开发或文件监听失效时兜底)
打开设置(Ctrl+, ),搜这两个项,勾选即可。如果你装了 Markdown All in One,它会接管行为,此时真正生效的是 markdown.extension.preview.autoUpdate,不是上面那个原生配置。
数学公式渲染失败?KaTeX 启用 + 空行 + 正确语法
公式显示成 $$E = mc^2$$ 原样文本?不是插件没装,而是 KaTeX 渲染器根本没开。
通过 jina.ai 将网页抓取为精简的 markdown,用于在需要获取 URL 并获取压缩的 markdown 内容以节省 token。触发词 l...
- 在
settings.json中加一行:"markdown.math.enabled": true(VS Code 1.84+ 才支持) - 公式块前后必须各空一行,否则解析器直接跳过:
$$\int_0^1 x^2 dx$$
上下都不能紧贴文字 - 行内公式用单美元符:
$E = mc^2$;块级用双美元符:$$...$$;别混用中文符号或反引号 - 禁用
markdown.extension.math.inlineEnabled(如果开了,会导致单美元公式被错误解析成块级,反而崩)
代码块高亮失效?语言 ID 必须严格匹配
写 ```pyhton 或 ```js,结果灰底白字没颜色?TextMate 语法包只认标准语言 ID,拼错一个字母就失效。
- 正确写法:
```json、```typescript、```bash、```html(注意不是HTML或JS) - 不确定当前识别的是什么 ID?按
Ctrl+Shift+P→ 运行Developer: Inspect Editor Tokens and Scopes,把光标放代码块里看「language」字段 - 前端常用 ID:html / css / javascript / typescript / json / markdown —— 全小写,无空格,无版本号
滚动不同步、中文乱码、导出失败?三个关键开关
编辑区往下滚,预览卡在顶部;中文标题变黑体无层级;导出 PDF 图片全红叉——这些问题往往共用同一组底层开关:
-
markdown.preview.scrollEditorWithPreview和markdown.preview.scrollPreviewWithEditor必须同时设为true,缺一不可 -
markdown.preview.enableScripts必须为true,否则 Mermaid、KaTeX、自定义 CSS 全部被沙盒拦截(仅限本地可信文档) - 导出 PDF/HTML 不是内置功能,必须用
Markdown Preview Enhanced右键调用;且图片路径必须是相对路径(如./img/chart.png),绝对路径或网络地址会被拒绝加载
最易被忽略的是:同步滚动只在「侧边预览」(Open Preview to the Side)下生效,全屏预览或弹窗预览不支持锚点联动。

















