workbench.editor.enablePreview: false 可禁用资源管理器单击预览,但需同时在用户级和工作区级 settings.json 中配置;另加 workbench.editor.reuseEditors: false 可彻底防止标签页被覆盖。

直接在 settings.json 里加这行就生效
改 settings.json 是最稳的方式,避免 GUI 设置层级混乱或缓存导致漏改。打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),输入 Preferences: Open User Settings (JSON),在大括号 {} 内任意位置加一行:
"workbench.editor.enablePreview": false
保存后立刻生效,不用重启。所有已打开的斜体预览标签会自动转为正体、常驻、带未保存圆点的标签页——但注意:光标焦点可能没跳过去,得自己点一下新转正的 tab。
为什么改了 settings.json 还有斜体标签?
因为 workbench.editor.enablePreview 只管资源管理器单击行为。以下操作完全绕过它,走的是独立预览开关:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)在资源管理器里点文件:硬编码逻辑,无法禁用,只能接受 - 命令面板(
Ctrl+P)输文件名回车:必须额外加"workbench.editor.enablePreviewFromQuickOpen": false - 搜索结果中双击文件:受
search.editor.doubleClickBehaviour控制,设为"open"才不预览 - 代码内
Ctrl+Click跳转定义:要加"workbench.editor.enablePreviewFromCodeNavigation": false
别只改用户设置,工作区也得同步
右下角如果显示 Workspace Settings,说明你只改了当前项目配置,而用户级设置仍是 true,预览照常出现。必须确保两处都设为 false:
- 用户级:
Preferences: Open User Settings (JSON) - 工作区级:
Preferences: Open Workspace Settings (JSON),同样加那行
否则你在项目里打开 VSCode,预览模式又回来了。
关完预览,还得防“复用覆盖”
很多人以为关了预览就万事大吉,结果双击两个文件,第二个还是把第一个顶掉了——那是 workbench.editor.reuseEditors 在起作用,默认是 true。它和预览无关,但行为相似。要彻底杜绝覆盖,再加一行:
"workbench.editor.reuseEditors": false
这个设置会让所有打开方式(双击、拖入、code file.ts 命令)都新开标签页,不再复用空闲 tab 位。副作用是关闭的标签页不会自动复用,想找回得右键 → Reopen Closed Editor。


















