vscode需安装pdf viewer插件(作者tomoki1207)实现pdf内联预览,禁用workbench.editor.enablepreview后双击可常驻打开;路径含中文、扫描版或超大/加密pdf可能异常,需调整pdf-preview相关配置并确保磁盘权限。

VSCode 本身不支持 PDF 内联预览,必须装插件才能在编辑器里直接打开、滚动、缩放——否则双击 .pdf 文件只会调用系统默认阅读器或报错“无法打开此文件”。
装哪个插件?认准 PDF Viewer(作者 tomoki1207)
目前唯一持续维护、无广告、基于最新 PDF.js 的稳定方案。别被名字误导:vscode-pdf 是它旧名,已下架;PDF(by chenxsan)停更多年,加载大文件易卡死;vscode-pdfviewer 是非官方镜像,更新滞后。
- 安装路径:VSCode 扩展面板搜索
PDF Viewer→ 点击安装 → 重启 VSCode(必须) - 验证是否生效:右键任意
.pdf文件,菜单中出现Open Preview即成功 - 注意:插件图标是蓝白 PDF 标志,作者栏明确显示
tomoki1207
双击 PDF 不预览?关掉 VSCode 的 editor preview 模式
即使装了插件,双击仍可能只开一个临时标签页(点别的文件就关闭前一个),这不是插件问题,而是 VSCode 默认的预览机制在干扰。
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入并选择:
Preferences: Open Settings (JSON) - 在
{}中添加一行:"workbench.editor.enablePreview": false - 保存后立即生效,无需重启
改完之后,双击 .pdf 就会真正打开一个常驻标签页,可分栏、可固定、可 Ctrl+Tab 切换。
PDF 打不开/渲染空白/卡死?先排查这三类硬限制
插件能力有边界,不是所有 PDF 都能正常渲染,遇到异常优先检查这些:
-
路径含中文或空格:VSCode 插件对 URI 编码处理不稳定,把 PDF 移到纯英文路径(如C:/docs/manual.pdf)再试 -
扫描版 PDF(图片型):PDF.js 无法提取文字和结构,可能白屏或仅显示模糊图层;这类文件建议用 OCR 工具转成可读文本后再导入 -
超大文件(>100MB)或加密 PDF:插件未实现流式加载,内存溢出导致卡死;可尝试用qpdf --stream-data=none拆解优化,或改用系统阅读器打开
想让 PDF 预览更顺手?几个关键配置项
在 VSCode 设置中搜 pdf-preview,重点调这几个:
-
pdf-preview.defaultZoom:设为page-width,避免每次手动拉缩放 -
pdf-preview.cursorTool:设为hand(手形工具),比选择工具更适合翻页浏览 -
pdf-preview.scrollMode:设为vertical(垂直滚动),包裹模式(wrapped)在长文档中容易跳页 - 注意:这些设置只影响 PDF 预览视图,不影响代码编辑行为
真正容易被忽略的是:PDF 渲染依赖本地磁盘读取权限,如果项目在远程容器(SSH/WSL/Dev Container)中,需确认插件已获对应工作区信任权限,否则预览窗口会一直显示“Loading…”。











