根本原因是VSCode预览逻辑在编辑器组间独立运行;需设workbench.editor.enablePreview为false并配合enablePreviewFromExplorer等细粒度配置,才能彻底禁用分屏预览。

分屏时单击文件仍出斜体预览,根本原因是什么
不是分屏本身导致的,而是 VSCode 的预览逻辑在 editor group(编辑器组)间独立运行。你在左侧 group 单击一个文件,它默认以预览态打开;切到右侧 group 后再单击另一个文件,左侧那个预览页可能还在——但你真正想关的是“当前 group 内的预览行为”,而不是全局开关。
workbench.editor.enablePreview 设为 false 能否解决分屏预览问题
能,但只解决一半:设 "workbench.editor.enablePreview": false 后,所有新打开的文件(无论哪个 group)都会变成常驻标签页,斜体消失。但要注意:
- 已存在的斜体预览页不会自动保存内容,切换 group 后再回来,可能发现改过的几行没了
- 如果右下角显示「Workspace Settings」,说明只改了项目级配置,用户级仍是
true,得同步改掉 - 分屏拖拽文件(比如 Alt+Click 拖进右侧)仍可能触发预览,这是 editorGroup 的默认策略,不受该设置控制
如何让每个 editor group 都禁用预览,且不影响其他操作
靠细粒度配置组合,比全关更稳妥:
-
"workbench.editor.enablePreviewFromExplorer": false→ 资源管理器单击不预览(含分屏内点击) -
"workbench.editor.enablePreviewFromQuickOpen": false→ Ctrl+P 打开时不预览 -
"workbench.editor.revealIfOpen": true→ 再次点击已打开的文件,直接切到对应 group 的标签页,不新开 -
"workbench.editor.closeOnFileDelete": true→ 删除文件时自动关掉对应 group 里的预览页(避免残留)
这些配置加进 settings.json 后立即生效,无需重启,也兼容多 group 场景。
为什么 GitLens、Todo Tree 点击后还是预览
因为它们调用的是 VSCode 的预览 API,绕过了所有 workbench.editor.* 设置。这类扩展通常自带开关,例如:
- GitLens 的
gitlens.fileAnnotations.previews.enabled设为false - Todo Tree 的
todo-tree.tree.hidePreviews或查看其文档中是否支持enablePreview类配置项
不查扩展自己的文档,只改 VSCode 主设置,永远有漏网之鱼。最易被忽略的是:预览页没有未保存标识(圆点),你在左侧 group 改了一堆代码,切去右侧写两行,再切回来,那个预览页可能已被覆盖——连恢复机会都没有。











