VSCode预览模式按内容类型分治:Markdown需Ctrl+Shift+V+保存触发、图片悬停依赖相对路径与设置、PDF/音频等需插件;各功能受文件类型、路径、多层设置叠加影响,配置冲突常致失效。

VSCode 的“预览模式”不是单一功能,而是按内容类型分治的:Markdown 预览、图片悬停预览、多模态文件(如 PDF/音频)预览,各自启用方式和依赖条件完全不同。直接开设置乱勾一通,大概率白忙。
Ctrl+Shift+V 按了没反应?先查这三件事
Windows/Linux 下 Ctrl+Shift+V 是打开 Markdown 预览的默认快捷键(macOS 用 Cmd+Shift+V),但它不是万能开关:
-
markdown.preview.enabled必须为true(默认开启,但 Remote-SSH 或某些容器环境里可能被重置) - 当前文件后缀必须是
.md,且右下角状态栏语言模式显示为Markdown—— 若显示Plain Text或Markdown (GitHub),需点击切换 - 插件如 Vim、Emacs 键盘映射常劫持该组合键;临时禁用这些插件再试,或改走命令面板:
Ctrl+Shift+P→ 输入Markdown: Open Preview to the Side
改了 Markdown 内容,预览不更新?根本就不是实时的
VSCode 原生预览只读取磁盘上的已保存文件,不监听编辑器内存中的未保存内容。这是设计,不是 bug:
- 必须先按
Ctrl+S保存,预览才刷新 -
files.autoSave设为onFocusChange或afterDelay可缓解手动保存频率,但不能绕过“保存即刷新”前提 -
markdown.preview.autoRefresh默认为true,但它只对已保存文件生效;设为false后,连保存都不再触发刷新 - 预览窗口右上角的
↻刷新按钮只是重载 HTML 渲染层,不重新读取文件内容——它解决不了“没保存”这个前提
图片点不开、公式不渲染、中文链接失效?原生预览默认关着这些
VSCode 内置预览为了安全,默认禁用扩展语法和部分交互能力,不是装了就能用:
- LaTeX 公式:需开启
markdown.math.enabled(VS Code ≥1.84),块级公式$$...$$前后必须有空行;行内公式$E = mc^2$还要额外开启markdown.extension.math.inlineEnabled(若装了 Markdown All in One) - Mermaid 图表:原生预览完全不支持;必须装
Mermaid Preview插件,或用Markdown Preview Enhanced并开启markdown-preview-enhanced.enableMermaid - 中文标题链接失效:检查
markdown.preview.enableExtendedAutolinks是否为true,否则形如https://example.com的裸 URL 不会自动转成可点击链接 - 同步滚动、样式定制等实用功能默认关闭——关着就等于没开预览窗口,记得在预览窗口右上角三个点菜单里勾选
Sync Scrolling
图片悬停预览打不开?不用插件也能开,但有硬限制
VSCode 自 1.80 起内置基础图像悬停能力,但只对特定路径格式有效:
- 确保
editor.hover.enabled和markdown.preview.imagePreview都为true - 路径必须是相对路径(如
./img/logo.png),且文件真实存在于工作区目录中;绝对路径、../跨出根目录、URL 链接均不支持 - HTML/CSS 中的
<img src="...">或background: url(...)也需满足路径约束,否则悬停无响应 - 如需支持 Base64、SVG 内联、右键预览等增强能力,仍得装
Image Preview插件(作者 kisstkondor33)
真正容易被忽略的是:预览行为高度依赖文件类型、路径上下文、设置层级(用户/工作区/远程)三者叠加结果。一个配置项在 settings.json 里开了,却在工作区设置里被关掉,这种覆盖关系不排查清楚,所有操作都是徒劳。











