必须关闭总开关"workbench.editor.enablePreview": false,否则所有局部预览设置无效;确认方法包括标签非斜体、无小箭头、单击新增标签而非覆盖;Ctrl/Cmd+Click等操作仍强制预览,需额外配置对应选项。

必须设 "workbench.editor.enablePreview": false,否则任何“局部关闭”都无效。 这个配置是总开关,其他所有 enablePreviewFromXXX 项只在它为 true 时才起作用。很多人改了 enablePreviewFromExplorer 却发现单击还是预览,就是卡在这一步没关总开关。
怎么确认你真关掉了?
改完设置后,立即观察资源管理器里单击文件的行为:
- 标签不再斜体,右上角没有小箭头图标
- 再次单击另一个文件,不会覆盖当前标签,而是新增一个常驻标签页
- 已打开的斜体标签会在你切换焦点或保存一次后自动转为正体(不用重启)
- 右下角检查是否显示「Workspace Settings」——如果显示,说明你只改了工作区设置,用户级设置仍是
true,得同步改掉
为什么关了总开关还有预览页?这些操作绕过设置
即使 "workbench.editor.enablePreview": false,以下行为仍会强制触发预览,因为它们走的是硬编码逻辑或独立 API:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS):资源管理器中按住修饰键单击,永远强制预览,无法禁用 - 命令面板(
Ctrl+P)回车打开文件:需额外设"workbench.editor.enablePreviewFromQuickOpen": false - 跳转定义(
F12或Ctrl+Click代码内符号):需设"workbench.editor.enablePreviewFromCodeNavigation": false - 某些扩展(如 GitLens blame 行、Todo Tree 点击任务):调用的是预览专用 API,得查该扩展文档是否有类似
gitlens.previewMode的开关
想保留预览但控制生命周期?别全关,微调更稳
全关适合多文件并排写代码的人;如果你只是讨厌预览页“被悄悄覆盖”,可以保留预览但让它更可控:
- 设
"workbench.editor.revealIfOpen": true:再点已打开的文件,直接切到对应标签,不新建预览 - 设
"workbench.editor.closeOnFileDelete": true:删文件时自动关掉它的预览页,避免残留 - 预览页左上角有小箭头,点一下或按
Enter(焦点在标签上时)就能固定为常驻页 - 注意:
files.associations不影响预览行为;要用workbench.editorAssociations按文件类型控制,比如"filenamePattern":"*.log"配"enablePreview": false
最容易被忽略的是:预览页没有 unsaved changes 标识(没圆点),你改了几行代码却没注意它还是预览状态,切走再回来,改动可能被新文件覆盖——这种静默丢失比标签乱更危险。


















