vscode markdown预览默认仅做轻量html渲染,需手动配置才能支持公式、mermaid、同步滚动等;ctrl+shift+v失效主因是文件非.md后缀、语言模式未设为markdown、快捷键被占用或markdown.preview.enabled为false。

VSCode 写 Markdown 缺的不是“预览工具”,而是对「预览行为边界」的清晰认知——它自带 markdown.preview.enabled,但默认只做最轻量的 HTML 渲染,不处理公式、图表、同步滚动、图片路径解析或导出。你缺的其实是配置判断力,不是插件堆砌。
为什么 Ctrl+Shift+V 按了没反应?
这不是插件没装,是触发条件没满足:
- 当前文件后缀必须是
.md或.markdown,.txt或无后缀文件直接无视 - 右下角状态栏语言模式必须显示
Markdown(点一下可手动切换) - 快捷键被占用:Vim/Emacs 插件、输入法(尤其中文输入法)、远程桌面软件常劫持
Ctrl+Shift+V -
markdown.preview.enabled被设为false(检查设置里搜这个字段) - 文件未保存:Untitled-1 这类临时文件不触发预览
markdown.preview.mathjax 开了公式还是不渲染?
MathJax 渲染依赖三环嵌套,断一环就白屏:
- 必须开启
markdown.preview.mathjax(仅此一项不够) - 必须同时启用
markdown.preview.enableScripts,否则 MathJax 脚本被沙箱拦截 - 公式语法要合规:
$$E=mc^2$$是块级,$E=mc^2$是行内;\(E=mc^2\)也行,但\[E=mc^2\]在原生预览中不支持 - 别同时装
mdmath和Markdown Preview Enhanced,两者会抢$$解析权,导致首次渲染后空白
图片路径总错乱,预览里显示空白?
VSCode 原生预览按工作区根目录解析相对路径,不是按 .md 文件所在目录:
- 假设工作区根是
/project,你在/project/docs/note.md里写,它找的是/project/assets/logo.png,不是/project/docs/assets/logo.png - 预览静默失败:不报错、不提示、控制台也无日志,只能靠排除法验证路径
- 解决方法:统一用工作区根为基准写路径,或改用
Markdown Preview Enhanced,它支持markdown-preview-enhanced.imagePath配置项重定向解析逻辑 - 路径含中文?确保文件编码是 UTF-8 无 BOM,否则部分版本会解析失败
想实时刷新、同步滚动、导出 PDF,该选哪个插件?
别贪多,按需求选一个主插件即可:
- 只要基础写作 + 目录 + 表格对齐:装
Markdown All in One,它不接管预览,只增强编辑,零冲突 - 需要公式 + Mermaid + 同步滚动 + 导出 PDF/HTML:用
Markdown Preview Enhanced,但必须关掉它的enableMath如果你已用原生mathjax,否则双 MathJax 初始化冲突 - 图床上传刚需:配
Upload Image,关键填对uploadImage.uploadMethod和对应 token,漏 token 就 401,插件界面却不提示 - 禁用所有其他 Markdown 预览类插件,尤其是
Markdown Preview Enhanced和Markdown All in One同时启用时,Ctrl+K V会随机失效
最易被忽略的点:预览窗口位置是“会话级记忆”的。第一次拖到右侧并松手,之后所有 Open Preview to the Side 都复用该布局;但新建 VSCode 窗口需重新拖一次,且 workbench.editor.openSideBySide 必须为 true(默认就是),设成 false 会导致预览强制开新窗口。











