关闭workbench.editor.enablepreview设为false即可禁用预览模式,单击文件变为常驻标签页、斜体消失;该设置无需重启,已打开的斜体标签自动转为正体常驻,但需同步修改用户级设置并排查ctrl+p、跳转定义等绕过主开关的预览行为。

关掉 workbench.editor.enablePreview 就行,设为 false 后单击文件立刻变成常驻标签页,斜体消失,不再“闪一下就没了”。
为什么单击文件总在同一个标签页里闪退
这不是卡顿或插件冲突,是 VSCode 默认开启的预览模式:资源管理器里单击文件,只临时占一个可被覆盖的标签页,用斜体+右上角小箭头标识。它不保存、不可拖拽、不计入 Ctrl+Tab 历史,本质是“占位符”,不是真打开。
-
workbench.editor.enablePreview默认为true,所有新装 VSCode 都这样 - 改完无需重启,已打开的斜体标签会自动转为正体、常驻状态(但内容不会自动保存)
- 右下角若显示「Workspace Settings」,说明你只改了当前项目设置,用户级设置仍是
true,得同步改掉
关了设置还是有斜体标签?检查这几个绕过主开关的操作
即使 "workbench.editor.enablePreview": false,以下行为仍会强制触发预览,需单独配置:
-
Ctrl+P(或Cmd+P)搜索后回车 → 设"workbench.editor.enablePreviewFromQuickOpen": false - 跳转定义(
Ctrl+Click或Cmd+Click)→ 设"workbench.editor.enablePreviewFromCodeNavigation": false - 搜索结果中双击文件 → 改
"search.editor.doubleClickBehaviour"为"open" - macOS 上
Cmd+Click资源管理器文件是硬编码预览,无法通过设置关闭;可用Ctrl+Click或双击替代 - 某些扩展(如 GitLens、Todo Tree)内部调用预览 API,得查其文档是否有类似
enablePreview的开关
想保留部分预览?按来源精细控制
全关太粗暴?VSCode 允许分入口控制预览行为,比如只禁用资源管理器单击,但保留快速打开的预览:
-
"workbench.editor.enablePreview": true(保持全局开启) -
"workbench.editor.enablePreviewFromExplorer": false→ 资源管理器单击不预览 -
"workbench.editor.enablePreviewFromQuickOpen": true→Ctrl+P仍走预览 -
"workbench.editor.revealIfOpen": true→ 再次点击已打开文件,直接切到对应标签页,避免重复开
注意:Alt+Click 拖文件到侧边栏、或拆分视图(editorGroup)时生成的临时标签,属于编辑器组策略,不受上述设置影响。
容易被忽略的细节:预览页不保存、不计入关闭逻辑
预览页内容不会自动保存,关掉前也不弹保存提示;Ctrl+K+W 默认不关预览态标签页,Ctrl+W 关它也只是“覆盖”而非销毁——这些都不是 bug,是设计使然。真正要获得确定性工作流,必须先让所有标签页变成常驻态,而不是靠记忆哪些操作会绕过设置。











