分屏阅读离线文档需先禁用预览模式("workbench.editor.enablepreview": false),再通过资源管理器右键“open to the side”将html文件加载到独立编辑器组,vscode原生支持html高亮但不直接渲染pdf。

分屏阅读离线文档,本质是打开本地 HTML 或 PDF 文件并分组显示
VSCode 默认不直接渲染 PDF,但能原生打开和高亮 HTML 文档;想分屏看离线文档(如 docs/index.html、api-reference.html),关键不是“设置分屏”,而是确保文件以正确方式加载进编辑器组,且不被预览模式吞掉。
- 先关掉预览模式:
"workbench.editor.enablePreview": false—— 否则双击 HTML 文件只闪一下就消失,根本进不了分屏流程 - 用资源管理器右键 →
Open to the Side,比拖拽更稳;拖拽易因宽度不足( - 若文档是 PDF,需装扩展(如
vscode-pdf),否则 VSCode 会提示 “Unable to openxxx.pdf: Unsupported file type” - HTML 文档里含大量 JS/CSS 时,VSCode 不执行脚本,仅做静态渲染 —— 别指望它跑 Vue 文档站点,只适合纯静态说明页
同一份离线文档,怎么左右分屏看不同章节?
比如你有个长 HTML 文档 guide.html,想左边看目录,右边看第 5 节内容。VSCode 不支持“同一文件内锚点分屏”,但可以靠两个独立视图 + 行号跳转模拟:
- 右键
guide.html标签 →Split Editor Right,得到两个相同内容的视图 - 左视图按
Ctrl+G输入目录所在行号(如23),回车后光标到位;再按Ctrl+L居中显示 - 右视图切换焦点(
Ctrl+2),再Ctrl+G输入目标章节起始行号(如187),同样Ctrl+L居中 - 右键编辑器顶部空白处 → 取消勾选
Sync Scrolling,否则滚一边另一边也动,失去分屏意义
为什么 Compare Active File with... 对离线文档无效?
这个命令(Ctrl+Shift+P → File: Compare Active File with...)专为 diff 设计,对单个离线文档完全无用:
- 选自己文件会静默失败,或报错
Cannot compare a file with itself - 即使绕过(比如用符号链接伪造路径),右侧变成只读
diff视图,无法滚动独立、不能编辑、不支持 HTML 渲染 - 它不解析 HTML 结构,也不识别锚点,纯文本逐行比对 —— 看文档毫无意义
离线文档分屏后,搜索/跳转经常不准?
HTML 文档里 Ctrl+F 搜索只在当前视图生效,且不支持跨视图同步;更麻烦的是,VSCode 的 Go to Symbol(Ctrl+Shift+O)对普通 HTML 文件基本不可用 —— 它依赖语言服务,而内置 HTML 支持不解析自定义 ID 或 heading 层级。
- 解决办法:手动加
id属性,比如<h2 id="section-5">第五节</h2>,然后在地址栏输guide.html#section-5(仅浏览器有效) - VSCode 内部不解析 fragment,所以
Ctrl+G还是得靠行号,别信“搜标题就能跳” - 若文档带
toc.html目录页,建议分屏时左边固定toc.html,右边用Ctrl+P快速搜开对应章节文件,而非死磕一个大 HTML











