设workbench.editor.enablePreview: false是禁用资源管理器单击预览的唯一全局开关,但Ctrl+Click跳转、搜索双击、Ctrl+P等需分别配置enablePreviewFromCodeNavigation、search.editor.doubleClickBehaviour和enablePreviewFromQuickOpen,Alt+Click或拖拽至editor group则属编辑器组策略,无法通过设置禁用。

关不掉预览模式,大概率是你只改了表面开关,没动真正起作用的配置项。 VSCode 的预览行为不是单一开关能控制的,它由多个独立配置按触发路径分别生效——你看到的斜体标签,可能来自资源管理器单击、Ctrl+Click 跳转、搜索结果双击,甚至 Alt+Click 拖拽,每种都有自己的“开关”,且部分行为根本绕过所有设置。
workbench.editor.enablePreview 设为 false 是必须做的第一步
这是唯一影响「资源管理器单击」默认行为的全局开关。设为 false 后,单击文件会生成带圆点(unsaved indicator)的常驻正体标签页,已存在的斜体页也会自动转为常驻(但不会自动保存内容)。
操作方式:
• 打开设置(Ctrl+, 或 Cmd+,)→ 搜索 workbench.editor.enablePreview → 取消勾选
• 或手动编辑 settings.json,加一行:"workbench.editor.enablePreview": false
⚠️ 注意:右下角若显示「Workspace Settings」,说明你只改了当前项目,用户级设置仍是 true,得同步改掉用户设置,否则无效。
Ctrl+Click 跳转定义还是预览?关 workbench.editor.enablePreviewFromCodeNavigation
即使 workbench.editor.enablePreview 是 false,按住 Ctrl 点函数名跳转后仍出现斜体标签,问题出在 workbench.editor.enablePreviewFromCodeNavigation。这个配置控制所有代码导航行为:F12(转到定义)、Shift+F12(查找所有引用)、Alt+F12(查看定义),全部受它影响。
解决方法:
• 设置中搜索 enablePreviewFromCodeNavigation → 设为 false
• 若装了 Vim 插件,Ctrl+Click 可能被键盘映射拦截,需检查 vim.handleKeys 配置是否禁用了该组合键
搜索结果双击、Ctrl+P 回车还在预览?各自有独立开关
这两类行为完全无视 workbench.editor.enablePreview,必须单独处理:
• 搜索面板(Ctrl+Shift+F)双击匹配行 → 控制项是 search.editor.doubleClickBehaviour,必须设为 "open"(默认是 "gotoLocation",会进预览)
• 命令面板(Ctrl+P)输入文件名后回车 → 控制项是 workbench.editor.enablePreviewFromQuickOpen,设为 false
• 还有 GitLens、Todo Tree 等扩展点击跳转,它们调用的是 VSCode 预览 API,得查对应扩展文档看是否有 enablePreview 类配置(例如 GitLens 有 gitlens.fileAnnotations.previews)
为什么关了所有设置,还有斜体标签?那是 editorGroup 行为,不是预览
如果你用 Alt+Click 在资源管理器打开文件,或把文件拖拽到另一个 editor group(比如右侧分屏),VSCode 会强制生成一个临时预览标签——这属于编辑器组(editor group)的策略,和所有 enablePreview 配置无关,也无法通过设置禁用。
这类标签会在以下任一操作后转为常驻:
• 首次保存(Ctrl+S)
• 手动右键 → “Keep Open”
• 切换焦点再切回来(有时生效)
真要彻底避免,就得改操作习惯:不用 Alt+Click,不拖拽,全部用双击或 Enter 确认。这点最容易被忽略,也是斜体标签反复出现的真正原因。











