直接关闭全局开关 workbench.editor.enablePreview 并设为 false 才真正生效;需在 User 设置中修改,否则工作区设置会被覆盖,斜体标签和未保存内容丢失问题将持续存在。

直接关掉 workbench.editor.enablePreview 并设为 false 就行,这是唯一真正生效的全局开关。 其他所谓“关闭预览”的操作,比如只改工作区设置、只关某个子选项、或依赖 GUI 点击不勾选,大概率留尾巴——斜体标签还在,未保存内容照丢。
怎么改才真正关掉?用户级设置必须同步
VSCode 有两个设置层级:User(用户)和 Workspace(当前项目)。如果右下角显示「Workspace Settings」,说明你只改了项目配置,而 User 设置仍是 true,它会覆盖工作区设置。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置 - 搜
workbench.editor.enablePreview - 确保在「User」标签页下取消勾选(或手动编辑 User Settings JSON)
- 在 settings.json 中加这一行:
"workbench.editor.enablePreview": false - 改完不用重启,已打开的斜体标签会立刻转为正体、带圆点(unsaved indicator)、可拖拽的常驻页
为什么关了还是有斜体标签?这些操作绕过主开关
workbench.editor.enablePreview 是全局开关,但它对某些行为完全无效——因为它们走的是独立 API 路径,不是同一个控制链。
-
Ctrl + Click(Windows/Linux)或Cmd + Click(macOS)跳转定义:需额外设"workbench.editor.enablePreviewFromCodeNavigation": false - 命令面板(
Ctrl + P)回车打开文件:需设"workbench.editor.enablePreviewFromQuickOpen": false - 搜索结果(
Ctrl + Shift + F)双击匹配行:默认是gotoLocation,得设"search.editor.doubleClickBehaviour": "open" - 拖拽文件到另一个 editor group,或用
Alt + Click在侧边打开:这是 editorGroup 层级策略,无法通过任何预览配置禁用
细粒度控制:不想全关,但要管住最烦的几个来源
如果你仍想保留部分预览(比如快速查看日志文件),但又不想让资源管理器单击、跳转定义、搜索双击都抢走当前标签,那就别动全局开关,只关具体来源:
- 资源管理器单击不预览:
"workbench.editor.enablePreviewFromExplorer": false - 跳转定义/引用不预览:
"workbench.editor.enablePreviewFromCodeNavigation": false - 命令面板打开不预览:
"workbench.editor.enablePreviewFromQuickOpen": false - 注意:这些子配置项只有在
"workbench.editor.enablePreview": true时才起作用
真正容易被忽略的不是怎么关,而是预览页没有 unsaved indicator(右上角没圆点)——你改了三行代码,切去终端执行命令,再回来发现标签被覆盖、内容丢了。这不是 bug,是设计;靠眼睛看斜体判断是否安全,不如直接关掉预览来得可靠。


















