关闭 workbench.editor.enablePreview 是根本解法,设为 false 后资源管理器单击生成常驻标签页,已打开的斜体预览页自动转为正体常驻但不自动保存;其余预览行为需单独配置对应开关。

关掉 workbench.editor.enablePreview 是根本解法
批量查阅文件(比如在资源管理器里连续单击多个文件)时标签一闪就消失,不是卡顿,也不是插件冲突,就是 workbench.editor.enablePreview 默认为 true 导致的。设成 false 后,每次单击都会生成一个带圆点、可拖拽、不被覆盖的常驻标签页。改完立即生效,不用重启;已打开的斜体预览页会自动转为正体常驻——但不会自动保存内容,编辑未保存时得自己按 Ctrl+S。
为什么关了还出现斜体标签?这些操作绕过主开关
即使 workbench.editor.enablePreview 是 false,以下行为仍可能触发预览,因为它们走的是独立控制路径:
-
Ctrl+P(命令面板)输入文件名后回车:必须额外设workbench.editor.enablePreviewFromQuickOpen为false - 搜索结果中双击文件:受
search.editor.doubleClickBehaviour控制,设为"open"才能避免预览 - 代码内
Ctrl+Click跳转定义:需设workbench.editor.enablePreviewFromCodeNavigation为false - GitLens、Todo Tree 等扩展点击跳转:它们调用的是 VSCode 预览 API,得查对应扩展文档看是否有
enablePreview类开关
细粒度控制:保留部分预览,但不让它“乱来”
全关太粗暴?可以组合配置,只禁用你实际遇到的场景:
-
workbench.editor.enablePreviewFromExplorer:false→ 资源管理器单击不预览(注意:双击永远常驻,此配置只影响单击) -
workbench.editor.enablePreviewFromQuickOpen:false→Ctrl+P打开后不预览 -
workbench.editor.revealIfOpen:true→ 再次点击已打开的文件,直接切到对应标签页,而不是新开一个 -
workbench.editor.closeOnFileDelete:true→ 删除文件时自动关掉对应标签页(否则它还挂着)
最容易被忽略的细节:预览页没有 unsaved 标识
斜体标签页右上角没圆点,也不显示「未保存」状态。你改了几行代码,切走再回来,内容可能已被新文件覆盖——这不是数据丢失,是预览页被替换的正常行为。真正要留意的是:Ctrl+Tab 切换历史不包含预览页、拖拽标签时预览页灰掉不可操作、终端或调试器跳转源码时也可能意外开预览页。这些细节一旦忽略,排查起来比改设置还花时间。


















