关闭 workbench.editor.enablePreview 为 false 后,单击操作默认生成常驻标签页,斜体消失、未保存显示圆点,已打开预览页自动转正体;需同步修改用户级设置,仅改工作区无效。

关掉 workbench.editor.enablePreview 是唯一必须做的操作
设为 false 后,所有单击行为(资源管理器、Ctrl+P 回车、跳转定义)默认都生成常驻标签页,斜体消失,未保存内容会显示圆点,已打开的预览页自动转正体——改完立刻生效,不用重启。
常见误操作:
只在工作区 settings.json 里改,右下角显示「Workspace Settings」,但用户级设置仍是 true,结果斜体照旧。必须同步检查并修改用户级设置。
推荐方式:按 Ctrl+, → 搜索 workbench.editor.enablePreview → 取消勾选;或手动编辑用户 settings.json,在 {} 内加一行:"workbench.editor.enablePreview": false
哪些操作仍会强制触发预览?它们不听这个主开关
即使 workbench.editor.enablePreview 是 false,以下行为仍走独立 API 路径,硬编码绕过主设置:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)在资源管理器中单击文件:无法禁用,VSCode 内部逻辑固化 - 命令面板(
Ctrl+P)输入文件名后回车:需额外设"workbench.editor.enablePreviewFromQuickOpen": false - 搜索结果中双击文件:受
search.editor.doubleClickBehaviour控制,设为"open"才避免预览 - 代码内
Ctrl+Click跳转定义:需设"workbench.editor.enablePreviewFromCodeNavigation": false - GitLens blame 行、Todo Tree 点击任务等扩展行为:查对应扩展文档,看是否有
enablePreview类配置项
Ctrl+K Ctrl+W 关不干净?先确认是不是预览态标签
这个快捷键默认只关闭「已固定」的非预览态标签页,对斜体 + 小箭头的预览态标签无效。现象是:快速查看十几个日志文件,全按双击打开,再按 Ctrl+K Ctrl+W,一个没关掉。
临时解法:
单击某个斜体标签名,或按 Ctrl+Enter(Windows/Linux)把它固定成常驻态,再执行快捷键
长期解法:
关掉 workbench.editor.enablePreview,让所有新打开的文件默认常驻,Ctrl+K Ctrl+W 就能一并清理
验证是否为预览态:看标签右上角有没有小箭头图标,有就是;没有且带圆点,说明已常驻并有未保存内容。
细粒度控制:保留部分预览,但不让它干扰工作流
全关太粗暴?可以分来源控制,比如只关跳转定义时的预览,但保留 Ctrl+P 的轻量预览:
-
"workbench.editor.enablePreviewFromExplorer": false→ 资源管理器单击不预览(双击始终常驻,此设置不影响双击) -
"workbench.editor.enablePreviewFromQuickOpen": true→Ctrl+P仍走预览,适合快速扫文件 -
"workbench.editor.enablePreviewFromCodeNavigation": false→Ctrl+Click定义、F12 查引用时不再挤掉当前标签 -
"workbench.editor.revealIfOpen": true→ 再次点击已打开的文件,直接切到对应标签页,而不是新开一个(哪怕它是预览态)
注意:workbench.editor.enablePreview 必须为 true,这些细粒度配置才生效;设为 false 后,它们全部被忽略。
真正容易被忽略的是:预览页没有 unsaved changes 标识(没圆点),你改了 5 行代码,切走再回来发现内容没了——不是崩溃,是它被后续点击覆盖了。这点比“看着烦”更危险。











