关闭workbench.editor.enablePreview并设为false是唯一可靠解法,可使单击文件生成常驻、正体、可拖拽、带未保存标识的标签页,已存在斜体标签自动转正,无需重启;但需同步修改用户级设置,并额外处理Ctrl+P、跳转定义等绕过主开关的预览路径。

关掉 workbench.editor.enablePreview 并设为 false 是唯一可靠解法,其他操作(比如双击、改字体、清缓存)全无效。
为什么单击文件后标签页“自动消失”
这不是卡顿或插件冲突,是 VSCode 的预览模式在起作用:单击资源管理器文件时,它只开一个临时标签页(斜体显示),内容未保存、不可拖拽、切走再回来就没了。这个行为由 workbench.editor.enablePreview 控制,且默认值就是 true。
常见误判包括:
- 以为双击能解决——双击确实常驻,但你不可能每回都双击
- 去调
files.associations或改字体大小——完全不相关 - 删扩展或重装 VSCode——问题根源不在运行时环境
怎么正确关闭预览模式
必须把 workbench.editor.enablePreview 设为 false,且要确保改的是用户级设置(不是仅当前项目):
- 快捷键打开设置:
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS) - 搜索
workbench.editor.enablePreview,取消勾选「Workbench › Editor: Enable Preview」 - 看右下角:如果显示「Workspace Settings」,说明只改了项目配置,必须点进去再改一次用户设置
- 更稳妥方式:运行命令
Preferences: Open Settings (JSON),在{}里加一行:"workbench.editor.enablePreview": false
改完无需重启,已存在的斜体标签会立刻转为正体常驻页(但内容不会自动保存,编辑中务必手动 Ctrl+S)。
为什么关了还出现斜体标签
因为部分操作绕过主开关,走的是独立预览路径,需额外处理:
-
Ctrl + P(或Cmd + P)搜文件后回车 → 需设"workbench.editor.enablePreviewFromQuickOpen": false - 代码中
Ctrl + Click(跳转定义)→ 需设"workbench.editor.enablePreviewFromCodeNavigation": false - 搜索结果中双击文件 → 受
search.editor.doubleClickBehaviour控制,设为"open"而非"preview" - GitLens、Todo Tree 等扩展点击跳转 → 查该扩展文档,找类似
enablePreview的配置项
注意:Ctrl + Click 在资源管理器里单击文件是硬编码逻辑,无法通过设置禁用;macOS 上 Cmd + Click 同理。
容易被忽略的关键细节
预览页没有未保存标识(圆点),你改了三行代码却没注意它仍是斜体,切到别的文件,改动就丢了——这比标签页“消失”更危险。
另外,workbench.editorAssociations 可按文件类型精细控制,比如让 .ts 永远常驻、.md 保留轻量预览,但规则顺序很重要:数组靠前的匹配优先,且它不能覆盖已设为 false 的全局开关。











