关闭 workbench.editor.enablePreview 是唯一有效解法:设为 false 后所有新标签页变为正体常驻页,需同步修改用户级设置;Ctrl+Click 等操作另有独立开关,已存在斜体页须手动“唤醒”固定,同时禁用 workbench.editor.reuseEditors 可防标签被覆盖。

关掉 workbench.editor.enablePreview 是唯一有效解法
斜体标签页不是字体问题,而是 VSCode 预览模式的视觉标识:它表示该标签页是临时的、可被下一次单击覆盖。只要 workbench.editor.enablePreview 是 true(默认值),资源管理器单击、Ctrl+P 搜索回车、跳转定义等行为就大概率生成斜体页。设为 false 后,所有新打开的文件都会变成正体、带未保存圆点、可拖拽的常驻标签页,且立即生效,无需重启。
手动改 settings.json 最可靠:
"workbench.editor.enablePreview": false
注意右下角是否显示「Workspace Settings」——如果显示,说明你只改了当前项目配置,用户级设置仍是 true,必须同步修改用户设置,否则无效。
Ctrl+Click 跳转、Ctrl+P 打开仍斜体?它们有独立开关
即使全局 workbench.editor.enablePreview 已关,以下操作仍会绕过主开关,触发斜体预览:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)跳转函数定义:需额外关闭workbench.editor.enablePreviewFromCodeNavigation -
Ctrl+P输入文件名后回车:需设workbench.editor.enablePreviewFromQuickOpen为false - 搜索面板(
Ctrl+Shift+F)中双击匹配行:受search.editor.doubleClickBehaviour控制,必须设为"open"(不是默认的"gotoLocation")
这些配置互不干扰,可以按需组合启用。比如你只想保留搜索双击预览,但禁用跳转预览,就只关第三项。
已存在的斜体标签不会自动转正,得手动“唤醒”
改完配置后,已打开的斜体标签页不会立刻变正体——它们仍处于预览生命周期中。必须主动触发一次“固定”动作:
- 右键点击斜体标签 → 选 Keep Open
- 或直接单击该标签页标题区域(哪怕只是点一下空白处)
- 或按
Ctrl+Enter(Windows/Linux)/Cmd+Enter(macOS)
做完任意一项,斜体消失,标签变正体、带关闭 ×、出现在 Ctrl+Tab 切换列表里,且不再被后续操作覆盖。
别忽略 workbench.editor.reuseEditors 这个隐藏复用开关
有些人关了预览后,发现双击文件 A → 再双击文件 B,A 的标签还是被替换成 B。这不是预览残留,而是 workbench.editor.reuseEditors 在起作用(默认 true)。它控制的是“是否复用当前编辑器组中空闲的标签位”,和预览无关。
要彻底杜绝覆盖,必须同时设:
"workbench.editor.reuseEditors": false
设为 false 后,每次双击、拖入、code file.ts 命令都会新开标签页;已关闭的标签可通过右键 → Reopen Closed Editor 找回。


















