必须将"search.editor.doubleClickBehaviour": "open"设为open,否则搜索结果双击仍以预览模式打开;该设置与workbench.editor.enablePreview并列,需单独配置才能禁用搜索面板的预览行为。

搜索结果双击仍开预览页?改 search.editor.doubleClickBehaviour
VSCode 搜索面板(Ctrl+Shift+F)里双击文件,默认会以预览模式打开——哪怕你已经关了 workbench.editor.enablePreview。这不是遗漏,是独立控制项。
这个行为由 search.editor.doubleClickBehaviour 决定,默认值是 "preview",必须显式改成 "open" 才能强制双击即常驻。
- 图形界面操作:Ctrl+, → 搜
search.editor.doubleClickBehaviour→ 下拉选open - JSON 手动编辑更稳:在
settings.json里加一行:"search.editor.doubleClickBehaviour": "open" - 注意作用域:如果右下角显示 Workspace Settings,说明只改了当前项目;若想全局生效,得同步改用户级设置
命令面板(Ctrl+P)搜文件后回车还预览?关 workbench.editor.enablePreviewFromQuickOpen
Ctrl+P 输入文件名、回车确认,这个路径完全绕过资源管理器,也不受主预览开关影响。它走的是 workbench.editor.enablePreviewFromQuickOpen 控制流,默认为 true。
不关它,哪怕其他所有预览都禁了,从命令面板进来的文件还是斜体、可被覆盖。
- 必须加这一行:
"workbench.editor.enablePreviewFromQuickOpen": false - 它和
workbench.editor.enablePreview是并列关系,不是子开关,缺一不可 - 改完立刻生效,已打开的预览标签不会自动转常驻,需手动 Enter 固定或重新打开
跳转定义(Ctrl+Click)仍预览?设 workbench.editor.enablePreviewFromCodeNavigation
代码里 Ctrl+Click 符号跳转,默认也走预览,尤其在大型项目中频繁触发时,很容易堆出一堆斜体标签却找不到自己刚改的文件。
这个行为由 workbench.editor.enablePreviewFromCodeNavigation 控制,VSCode 1.80+ 版本起正式支持,旧版可能无效。
- 加配置:
"workbench.editor.enablePreviewFromCodeNavigation": false - 配合
"workbench.editor.revealIfOpen": true,可让再次跳转同一文件时直接切到已有标签页,避免重复打开 - 注意:某些语言服务器(如 Python Pylance)可能缓存跳转结果,首次设置后建议重启窗口(Ctrl+Shift+P → Developer: Reload Window)
扩展调用的跳转也预览?查扩展自己的 enablePreview 配置项
GitLens 点 blame 行、Todo Tree 点任务、Error Lens 点报错位置……这些都不是 VSCode 原生行为,而是扩展调用编辑器 API 打开文件。它们往往自带预览开关,且不读取全局 enablePreview。
比如 GitLens 就有 gitlens.views.fileHistory.enablePreview,Todo Tree 有 todo-tree.tree.showInPreview。
- 遇到某类跳转始终预览,先去扩展页面点「Manage」→「Extension Settings」,搜
preview - 没有对应设置?查该扩展 GitHub Issues 或文档,关键词 “preview mode”、“enable preview”
- 实在找不到,临时禁用该扩展验证是否为元凶;确认后,再针对性配置
最易被忽略的是:预览页没有未保存标识(那个小圆点),Ctrl+Click 跳过去改了几行,切走再回来,发现内容没了——因为那页早被新文件覆盖了。关预览不是为了“好看”,是让每个标签页的行为可预期。


















