关掉 workbench.editor.enablePreview 设为 false 是唯一有效解法,可使单击文件生成带圆点、可拖拽、常驻的正体标签页,已开斜体页自动转换,但需同步用户与工作区设置并禁用其他预览路径。

关掉 workbench.editor.enablePreview 是唯一有效解法
单击资源管理器文件只闪一下、没圆点、切走再回来内容没了——不是插件冲突,也不是卡顿,就是预览模式在起作用。workbench.editor.enablePreview 设为 false 后,所有单击行为(资源管理器、搜索结果单击、命令面板回车)都会生成带未保存标识(圆点)、可拖拽、常驻的正体标签页。改完无需重启,已打开的斜体预览页会自动转为常驻状态(但不会自动保存内容,这点要小心)。
- 图形界面操作:按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)→ 搜索workbench.editor.enablePreview→ 取消勾选「Workbench › Editor: Enable Preview」 - 手动编辑
settings.json更可靠:打开「Preferences: Open Settings (JSON)」→ 在{}内加一行:"workbench.editor.enablePreview": false - 右下角若显示「Workspace Settings」,说明只改了当前项目,用户级设置仍是
true,必须同步修改用户设置
为什么关了主开关还看到斜体标签?这些操作绕过设置
即使 workbench.editor.enablePreview 是 false,以下行为仍会强制触发预览,因为它们走的是独立 API 路径,不认这个主开关:
-
Ctrl + Click(Windows/Linux)或Cmd + Click(macOS)跳转定义:需额外设"workbench.editor.enablePreviewFromCodeNavigation": false - 命令面板(
Ctrl + P)输入文件名后回车:必须设"workbench.editor.enablePreviewFromQuickOpen": false - 搜索结果中双击文件:受
search.editor.doubleClickBehaviour控制,设为"open"可避免预览 - GitLens、Todo Tree 等扩展点击跳转:它们调用的是 VSCode 预览 API,得查对应扩展文档看能否禁用其内部预览行为
保留部分预览但不让它“乱来”的微调方案
全关太粗暴?可以组合多个细粒度开关,只压制干扰项,不牺牲浏览效率:
-
"workbench.editor.enablePreviewFromExplorer": false→ 资源管理器单击不预览(注意:双击本身永远常驻,此配置只影响单击) -
"workbench.editor.revealIfOpen": true→ 再次点击已打开的文件,直接切到对应标签页,而不是新开一个预览页 -
"workbench.editor.closeOnFileDelete": true→ 删除文件时自动关掉对应预览页(否则它还挂着) - 想让
.md保持轻量预览,而.ts必须常驻?用workbench.editorAssociations按文件类型控制:{"workbench.editorAssociations": [{"viewType":"default","filenamePattern":"*.ts","enablePreview": false}]}
最易被忽略的危险点:预览页没有 unsaved changes 标识
斜体标签页右上角没有圆点,改了几行代码却没注意它还是预览态——这是最隐蔽的问题。切走、切换窗口、甚至 Ctrl+Tab 切换历史都不会包含它,一不留神就丢内容。双击标签名或按 Ctrl + Enter(Windows/Linux)可临时固定当前预览页,但治标不治本。真正要做的,是把 workbench.editor.enablePreview 设为 false,并确认用户级和工作区级设置一致——否则某天你换台电脑或重装 VSCode,那个闪一下就消失的标签页又会回来。


















