关闭 workbench.editor.enablepreview 设为 false 是唯一有效解法,可使单击文件生成常驻、可拖拽、带未保存标识的新标签页;需同步检查并关闭其他预览开关如 enablepreviewfromquickopen 等。

workbench.editor.enablePreview 设为 false 是唯一有效解法
VSCode 单击文件只闪一下就消失,不是卡顿也不是插件冲突,就是预览模式在起作用。关掉 workbench.editor.enablePreview 才能真正让每次点击都生成一个常驻、正体、可拖拽、带未保存标识(圆点)的新标签页。
这个配置必须设为 false,且只写一次——它不区分资源管理器、搜索结果或命令面板,是全局开关。改完立刻生效,不用重启;已打开的斜体预览页会自动转为常驻状态(但不会自动保存内容,这点要小心)。
- 图形界面操作:Ctrl+,(或 Cmd+,)→ 搜索
enablePreview→ 取消勾选 Workbench > Editor: Enable Preview - JSON 手动编辑更可靠:打开
Preferences: Open Settings (JSON)→ 在{}内加一行:"workbench.editor.enablePreview": false - 注意设置层级:如果右下角显示 Workspace Settings,说明你正在改工作区配置,而用户级设置仍是
true,得同步改掉用户设置
为什么关了还出现斜体标签?检查这几个隐藏开关
即使 workbench.editor.enablePreview 是 false,你仍可能看到斜体标签——这说明有其他入口绕过了主开关。常见来源和对应配置如下:
-
workbench.editor.enablePreviewFromQuickOpen:控制 Ctrl+P / Cmd+P 搜索后回车的行为,默认true,建议一并设为false -
workbench.editor.enablePreviewFromExplorer:虽已废弃,但某些旧版扩展或自定义 UI 可能还在读它;若存在,也设为false - 跳转定义(Ctrl+Click / Cmd+Click):这个行为由编辑器底层控制,无法完全禁用预览,但可配合
"workbench.editor.revealIfOpen": true避免重复打开 - macOS 上 Cmd+Click 资源管理器文件是硬编码预览,无法通过设置关闭;想绕过就用 Ctrl+Click 或双击
workbench.editorAssociations 可以按文件类型精细控制预览
不想全关,只想让 .ts、.js、.py 这些代码文件不预览,但保留 .md、.json 的轻量预览?files.associations 不管用,它只影响语法高亮。真正起效的是 workbench.editorAssociations。
这个配置支持按文件名模式匹配,并指定是否启用预览。规则按数组顺序匹配,越靠前优先级越高。示例:
"workbench.editorAssociations": [
{"viewType": "default", "filenamePattern": "*.ts", "enablePreview": false},
{"viewType": "default", "filenamePattern": "*.js", "enablePreview": false},
{"viewType": "default", "filenamePattern": "*.md", "enablePreview": true}
]
注意:viewType 值必须是 VSCode 内置编辑器 ID(如 default、markdown.previewEditor),不能随便写;通配符只支持 * 和 **,不支持正则表达式。
预览页没保存就切走,改动真会丢
最危险却最容易被忽略的一点:预览页没有独立的 unsaved changes 标识(即标签页左上角没圆点)。你改了 5 行代码,以为它在那儿,结果点了另一个文件,预览页直接消失——那 5 行从未被写入磁盘,也不在任何历史记录里。
这不是 VSCode 的 bug,是预览模式的设计逻辑:它本就不该承载长期编辑任务。所以哪怕你只关了 workbench.editor.enablePreview,也得养成习惯——看到斜体标签,第一时间按 Enter 固定它,或者右键选 Keep Open。否则,下次再找那几行改动,大概率得重写。











