关掉 workbench.editor.enablePreview 设为 false 是唯一必须操作,可使单击文件生成常驻、带未保存圆点、可拖拽的正体标签页;但 Ctrl+Click 跳转、搜索双击等仍需额外关闭对应预览开关。

关掉 workbench.editor.enablePreview 是唯一必须做的操作,设为 false 后所有单击打开的文件都会变成常驻标签页,斜体消失、带未保存圆点、可拖拽——但只改这一项远远不够,其他入口仍会绕过它继续开预览。
关掉全局预览开关:workbench.editor.enablePreview
这是最底层的控制项,影响资源管理器单击、命令面板(Ctrl+P)、跳转定义等绝大多数路径。不设它为 false,其他细粒度配置基本白搭。
- 图形界面:按
Ctrl+,→ 搜enablePreview→ 取消勾选「Workbench › Editor: Enable Preview」 - settings.json 手动加一行:
"workbench.editor.enablePreview": false - 务必检查右下角是否显示「Workspace Settings」——如果显示,说明你只改了当前项目,用户级设置仍是
true,得同步改掉用户设置 - 改完立刻生效,已打开的斜体标签会自动转为正体常驻,但内容不会自动保存,编辑中切走前记得
Ctrl+S
禁用 Ctrl+Click 跳转定义的预览:workbench.editor.enablePreviewFromCodeNavigation
按住 Ctrl 点函数名、用 F12 转到定义、Shift+F12 查引用,默认仍走预览,哪怕 workbench.editor.enablePreview 已关。
- 搜
enablePreviewFromCodeNavigation→ 设为false - 若装了 Vim 插件,
Ctrl+Click可能被拦截,需检查键盘映射是否覆盖了默认行为 - 该设置对
Alt+F12(查看定义)同样生效
让搜索结果双击不预览:search.editor.doubleClickBehaviour
在 Ctrl+Shift+F 搜索面板里双击匹配行,默认是 gotoLocation,它强制走预览逻辑,和编辑器预览开关完全无关。
- 搜
search.editor.doubleClickBehaviour→ 选项改为open(不是默认的gotoLocation) - 这个值只影响双击行为,不影响鼠标悬停预览或按住
Ctrl预览符号 - 设为
open后,双击直接在当前组打开常驻标签页,不再覆盖已有内容
为什么还有斜体标签?这些操作根本绕不过设置
即使上面全关了,你仍可能看到斜体——因为某些操作压根不读这些配置,而是硬编码或调用预览 API:
-
Alt+Click(Windows/Linux)或Option+Click(macOS)在资源管理器里点文件:这是 editorGroup 的策略,无法通过任何设置禁用 - 拖拽文件到另一个编辑器组(split view):同样属于 editorGroup 行为,斜体是它的默认表现
- 命令面板运行
File: Open Preview:明确调用预览命令,和配置无关 - GitLens blame 行点击、Todo Tree 任务跳转:它们内部用了
vscode.window.showTextDocument(..., { preview: true }),得查扩展文档看是否有对应开关
真正容易被忽略的是:预览页没有未保存标识(没圆点),你改了几行代码却没注意它还是斜体状态,切走再回来,内容可能已被新文件覆盖——这不是误操作,是预览模式的设计逻辑。


















