设为false是唯一真正生效的设置:关闭workbench.editor.enablePreview可禁用全局预览,使单击生成常驻标签;其他如workbench.tree.expandMode等仅在其为true时才生效,且Ctrl+P、跳转定义等需额外配置对应开关。

关掉 workbench.editor.enablePreview 就行,设为 false 是唯一真正生效的设置;其他所谓“快速预览”相关配置(比如 workbench.tree.expandMode)只在它为 true 时才有意义,单独调它们没用。
为什么改了 workbench.tree.expandMode 还不能空格预览?
VSCode 的“空格键预览”不是独立功能,而是依赖三重条件同时成立:workbench.tree.expandMode 必须是 singleClick、workbench.editor.enablePreview 必须是 true、workbench.editor.preview 也必须是 true。缺一不可。
- 最常被忽略的是
workbench.editor.enablePreview:如果它已经是false(比如你刚关掉预览),那无论expandMode设成啥,空格都只会常驻打开 -
workbench.tree.expandMode改成singleClick后,资源管理器里点文件或按空格才会触发预览流程——但前提是上面那个主开关开着 -
workbench.editor.preview是个辅助开关,控制资源管理器是否参与预览逻辑;它默认true,一般不用动,除非你发现双击也变预览了(那是异常)
关掉预览后,为什么 Ctrl+P / 搜索结果双击还是斜体?
因为 workbench.editor.enablePreview 是全局开关,但它只管“资源管理器单击”这一种路径;其他入口走的是各自独立的预览策略,完全绕过这个设置。
-
Ctrl+P(命令面板)打开文件:受workbench.editor.enablePreviewFromQuickOpen控制,需手动设为false - 搜索面板(
Ctrl+Shift+F)里双击匹配行:由search.editor.doubleClickBehaviour决定,默认是gotoLocation(会预览),要改成open - 代码中
Ctrl+Click跳转定义:对应workbench.editor.enablePreviewFromCodeNavigation,设为false才生效 - 资源管理器里
Alt+Click或拖拽到 editor group:这是编辑器组(editorGroup)行为,和所有预览设置无关,无法禁用
怎样确认自己改的是用户级设置,而不是只影响当前项目?
VSCode 设置分两层:用户(User)和工作区(Workspace)。如果你只在某个项目里关了预览,换个项目打开又是斜体——大概率你只改了工作区设置。
- 打开设置(
Ctrl+,),右下角显示「Workspace Settings」就说明当前在改项目配置;显示「User Settings」才是全局 - 图形界面里搜
enablePreview,勾选框旁边若出现「(Workspace)」字样,就得点它右边的「Open Settings (JSON)」,再手动在用户 settings.json 里加一行:"workbench.editor.enablePreview": false - 改完不用重启,但已打开的斜体标签页不会立刻变正体——得等你切换焦点、保存一次,或手动右键 → “Keep Open”
真正容易被忽略的点是:预览页没有未保存标识(圆点),你改了几行代码,切走再回来,可能发现内容没了——因为它被新文件覆盖了。这不是误操作,是预览模式的设计逻辑。所以别只盯着斜体不斜体,先确保你理解“这个标签页是不是真的属于你”。











