设为false是唯一有效解法:关闭workbench.editor.enablePreview可使单击文件生成常驻正体标签页,避免预览页丢失未保存内容,且需同步用户与工作区设置。

VSCode 没有「一键关闭预览模式」的快捷键——预览模式是编辑器行为策略,不是开关状态,不能靠按某个组合键临时切换。真正起效的方式只有改配置,或用快捷键临时固定单个预览页再关闭。
Ctrl+Enter 是唯一能干预单个预览页的快捷键
当你看到一个斜体标签、右上角带小箭头 → 的文件时,它就是预览态。此时焦点落在该标签上(点一下标签名或按 Ctrl+Tab 切过去),再按 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS),就能把它转为常驻(固定)状态,之后 Ctrl+K W 才会关掉它。
- 这个操作不改变全局设置,只作用于当前标签页
- 如果焦点不在预览页上(比如光标在终端或搜索框),
Ctrl+Enter会无效 - 双击预览页标签名效果等同于
Ctrl+Enter,但快捷键更快
workbench.editor.enablePreview: false 是唯一真正“关闭预览模式”的方式
把 "workbench.editor.enablePreview" 设为 false 后,所有新打开的文件(单击资源管理器)都会直接变成常驻标签页,不再斜体、不再被覆盖。已打开的斜体标签也会自动转正体,无需重启。
- 设置位置:
Ctrl+,→ 搜索enablePreview→ 取消勾选 Workbench > Editor: Enable Preview - 务必检查右下角是否显示
Workspace Settings;若显示,说明只改了当前项目,用户级设置仍是true,得同步改掉 - 注意:即使设为
false,Ctrl+Click(资源管理器中按住 Ctrl 单击)、Ctrl+P打开文件等行为仍可能触发预览,需额外配workbench.editor.enablePreviewFromQuickOpen等细粒度项
为什么 Ctrl+K W 关不干净?不是快捷键失效,是预览页被设计为“不可关闭”
Ctrl+K W 对应命令 workbench.action.closeAllEditors,它的逻辑明确:只关闭「非预览态」的编辑器标签页。这是 VSCode 的硬编码行为,不是 bug,也不是快捷键冲突。
- 现象:快速双击 10 个日志文件,全都是斜体 + 小箭头 → 按
Ctrl+K W后一个没少 - 原因:双击打开的文件默认是常驻态,但如果你是从搜索结果、GitLens blame 行、或跳转定义(
Ctrl+Click)进来的,它们大概率是预览态,不受Ctrl+K W影响 - 验证方法:看标签右上角有没有 → 图标;有,就是预览态;没有,才是可被
Ctrl+K W关闭的常驻页
真正容易被忽略的是:预览模式的影响不止于“关不干净”。它会让 Ctrl+Tab 切换历史不包含这些页,拖拽标签排序时灰掉不可拖,甚至终端跳转源码时也悄悄开成预览页——你改了代码却找不到对应标签。关掉 workbench.editor.enablePreview 是最干净的起点,后续再按需微调其他 enablePreviewFrom* 配置。


















