vscode离线预览需满足三前提:文件后缀为.md、语言模式设为markdown、已保存修改;pdf预览需安装vscode-pdfviewer扩展;数学公式和mermaid需手动启用对应设置。

VSCode 本身不支持离线预览“代码开发文档”这种抽象概念——它只能预览你本地已有的具体文件,比如 .md、.pdf 或纯文本格式的文档。所谓“离线预览”,本质是让这些文档在无网络、不启动外部程序的前提下,在编辑器内即时打开并正确渲染。
为什么 Ctrl+Shift+V 打不开 Markdown 文档预览
这不是插件没装的问题,而是三个硬性前提没满足:
- 当前文件后缀必须是
.md(.markdown也可,但.txt或无后缀不行) - 右下角状态栏语言模式必须是
Markdown;点一下能切换,若显示Plain Text,预览直接不加载 - 快捷键可能被 Vim / Emacs 插件、终端扩展甚至输入法劫持;可绕过:按
Ctrl+Shift+P→ 输入Markdown: Open Preview to the Side直接触发
另外,VSCode 预览读的是磁盘文件,不是编辑缓冲区——未保存的修改它看不见。改完必须 Ctrl+S,预览才会更新(前提是 markdown.preview.autoRefresh 为 true,默认就是)。
PDF 文档怎么在 VSCode 里离线预览
靠 vscode-pdfviewer 扩展,它基于 PDF.js,完全离线运行,不联网、不调用外部 PDF 阅读器:
- 安装后,双击打开任意
.pdf文件,自动进入内嵌预览界面 - 支持页面导航、缩放、文本选择、搜索、大纲(如果 PDF 有书签)、缩略图
- 关键配置项在设置中搜
pdf-preview:pdf-preview.default.scale可设为auto或page-width;pdf-preview.default.cursor控制默认工具是手形还是选中文本 - 注意:它不解析远程 URL,只加载本地路径;相对路径写法如
./docs/manual.pdf,不能用file://协议
数学公式、Mermaid 图表不渲染?不是离线问题,是配置开关没开
VSCode 内置预览对扩展语法默认关闭,和网络无关,只取决于设置:
- 公式:启用
markdown.math.enabled(旧版叫markdown.preview.math),然后用$$E=mc^2$$或\(E=mc^2\);块级公式前后需空行 - Mermaid:启用
markdown.mermaid.enabled,代码块必须声明语言:```mermaid,不能只写``` - 图片路径错误不会报错,只会留白;路径以工作区根目录为基准,
中的img/是从你打开 VSCode 的文件夹开始算的
导出 PDF 或 HTML?内置预览做不到,必须加插件或手动处理
VSCode 内置预览窗口右键“另存为”,得到的是无样式、无 JS 的裸 HTML 快照;导出 PDF 完全不支持:
- 导出 HTML:命令面板运行
Markdown: Export to HTML(需先打开预览) - 导出 PDF:必须装插件,如
Markdown PDF;Linux 下常见失败原因是缺系统库:libxss1、libglib2.0-0,得apt install补齐 - 如果导出失败,打开开发者工具(
Help → Toggle Developer Tools),看 Console 是否有 CSS 路径 404——说明markdown.preview.styles填的路径错了,且会静默失败
真正卡住人的从来不是“怎么打开预览”,而是“为什么我改了却看不到效果”——归根结底,VSCode 的预览机制依赖文件落地、路径基准、配置开关三者严丝合缝,少一个就断链。离线环境反而放大了这些细节的容错率,一旦出问题,没有网络兜底,只能逐项核对。











