能,但需通过扩展将离线文档渲染为webview视图或使用内置预览功能停靠;侧边栏不支持直接挂载本地文件,本质承载的是注册的视图而非文件本身。

离线文档能放进侧边栏吗?本质是“视图”不是“文件”
VSCode 侧边栏本身不支持直接挂载本地 HTML 或 PDF 文档作为固定面板——它只承载扩展注册的 WebView 视图或内置工作台组件(如 Explorer、Search)。所谓“固定离线文档”,实际路径只有两条:用扩展渲染 HTML 内容,或用内置功能打开并停靠为侧边栏标签页。前者需扩展支持且依赖脚本执行权限;后者不真正“固定”,但操作最轻量、无依赖。
用 Markdown Preview Enhanced 实现真·侧边栏文档(需配置)
如果你的离线文档是 Markdown(.md),Markdown Preview Enhanced(MPE)是最成熟的选择,它能把预览结果以 WebView 形式嵌入侧边栏,且支持 toc、数学公式、Mermaid 等。但默认不自动进侧边栏,需手动触发:
- 打开你的
.md文件,按Ctrl+K V(Windows/Linux)或Cmd+K V(macOS)唤出预览 - 预览窗口右上角点击
⋯→Open Preview to the Side,它就会出现在右侧侧边栏(若已设workbench.sideBar.location为"right") - 要让它“固定”:在预览窗口右键 →
Keep Preview,这样切换文件也不会关闭该视图 - 确保
markdown-preview-enhanced.enableScriptExecution设为true,否则 toc、交互图表等会失效
注意:toc_position: right 在 front-matter 中仅控制目录栏位置,不影响预览主体是否进侧边栏。
HTML 文档强行塞进侧边栏?只能靠 Open in Sidebar 扩展
原生 VSCode 不支持把任意本地 HTML 拖进侧边栏。可行解是安装 Open in Sidebar(作者: yuichinukiyama)扩展,它会在右键菜单注入 Open in Sidebar 选项:
- 安装后,右键点击任意本地 HTML 文件(如
docs/api.html)→Open in Sidebar - 它会新开一个 WebView 标签页,位于当前侧边栏(左或右取决于
workbench.sideBar.location) - 该视图可
Keep,也能随工作区状态缓存,但刷新后 JS/CSS 资源若含相对路径,可能因跨域被浏览器拦截(尤其离线时) - 避免使用含
file://协议的绝对路径引用资源;所有 CSS/JS 应内联或用 base64 编码,或改用vscode-resource:协议(MPE 支持,此扩展不支持)
为什么拖文件进侧边栏没反应?别踩这三个坑
常见误操作背后都是机制限制:
- 直接拖
.pdf或.chm进侧边栏:VSCode 无内置 PDF 渲染器,.chm更是 Windows 专属格式,侧边栏完全不识别 - 拖
.html到侧边栏空白处:只会触发“在编辑器中打开”,不会创建 WebView;必须右键文件资源管理器中的条目,再选扩展提供的命令 - 用了
workbench.panel.defaultLocation: "right":这个配置只影响底部面板(Terminal/Problems),和侧边栏无关;真正控制侧边栏左右的是workbench.sideBar.location,设错会导致整个侧边栏不可见 - 工作区配置静默覆盖:检查
.vscode/settings.json是否有"workbench.sideBar.location": "left",哪怕你用户设置里写了"right",它也会生效
最稳的离线方案其实是:把 HTML 文档转成单文件(所有资源内联),再用 Open in Sidebar 打开——没有网络、没有路径、没有权限报错,只有纯 HTML 在侧边栏里安静运行。











