workbench.editor.enablePreview设为false是唯一有效解法,可使单击文件直接生成常驻、正体、可拖拽、带未保存标识(圆点)的新标签页;该全局开关立即生效,无需重启,且需同步检查用户级与工作区设置。

workbench.editor.enablePreview 设为 false 是唯一有效解法
VSCode 单击文件只闪一下就消失,不是卡顿也不是插件冲突,就是预览模式在起作用。关掉 workbench.editor.enablePreview 才能让每次点击都生成一个常驻、正体、可拖拽、带未保存标识(圆点)的新标签页。
这个配置必须设为 false,且只写一次——它不区分资源管理器、搜索结果或命令面板,是全局开关。改完立刻生效,不用重启;已打开的斜体预览页会自动转为常驻状态(但不会自动保存内容,这点要小心)。
- 图形界面操作:
Ctrl+,或Cmd+,→ 搜索enablePreview→ 取消勾选Workbench > Editor: Enable Preview - 手动编辑更可靠:打开
Preferences: Open Settings (JSON)→ 在{}内加一行:"workbench.editor.enablePreview": false - 注意设置层级:如果右下角显示
Workspace Settings,说明你正在改工作区配置,而用户级设置仍是true,得同步改掉用户设置
为什么关了 workbench.editor.enablePreview 还有斜体标签
即使 "workbench.editor.enablePreview": false,你仍可能看到斜体标签——这说明有其他入口绕过了主开关。常见来源和对应配置如下:
-
workbench.editor.enablePreviewFromQuickOpen:控制Ctrl+P/Cmd+P搜索后回车的行为,默认true,建议一并设为false -
workbench.editor.enablePreviewFromCodeNavigation:跳转定义(Ctrl+Click代码内符号)时是否预览,设为false可避免 -
search.editor.doubleClickBehaviour:搜索结果中双击文件,默认可能是preview,改为open才能常驻 -
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)在资源管理器中单击:这是硬编码逻辑,无法通过设置禁用;想绕过就用双击或Ctrl+Click(macOS 上)
按文件类型控制预览:用 workbench.editorAssociations
files.associations 不管用——它只影响语法高亮。真正起效的是 workbench.editorAssociations,支持按文件名模式匹配并指定是否启用预览。
规则按数组顺序匹配,越靠前优先级越高。例如,让 .ts 和 .py 文件不预览,但保留 .md 的轻量预览:
"workbench.editorAssociations": [
{ "viewType": "default", "filenamePattern": "*.ts", "enablePreview": false },
{ "viewType": "default", "filenamePattern": "*.py", "enablePreview": false },
{ "viewType": "default", "filenamePattern": "*.md", "enablePreview": true }
]
viewType: "default" 表示内置文本编辑器;通配符支持 * 和 **,不支持正则表达式。
最容易被忽略的细节:预览页没有 unsaved changes 标识
预览页不会显示未保存标识(即没有圆点),改了几行代码却没注意它还是预览状态,切走再回来,改动可能被新打开的文件覆盖——这不是 bug,是设计行为。
另一个隐藏问题:即使所有预览开关都关了,拖拽文件到另一个编辑器组(split view)或使用 Alt+Click 在侧边打开时,VSCode 仍可能生成临时预览标签——这是 editorGroup 的默认策略,不是配置遗漏。











