设为false是唯一有效解法:关闭workbench.editor.enablePreview可使单击生成常驻标签页,但需同步用户与工作区设置,并额外禁用enablePreviewFromCodeNavigation、enablePreviewFromQuickOpen及search.editor.doubleClickBehaviour等独立开关。

关不掉预览模式,大概率是因为你只改了其中一个开关,而 VSCode 的预览行为由至少 5 个独立配置项分别控制——改错或漏改,斜体标签就会照常出现。
workbench.editor.enablePreview 设为 false 是必须做的第一步
这是唯一能影响「资源管理器单击」「Ctrl+P 打开」「命令面板跳转」等多数路径的全局开关。设为 false 后,所有新打开的文件都会生成带圆点、可拖拽、未保存时有标识的常驻标签页,斜体消失。
- 改完无需重启,已存在的斜体标签会在你切换焦点或保存后自动转为正体(但内容不会自动保存,注意丢数据)
- 检查右下角是否显示「Workspace Settings」——如果显示,说明你只改了当前项目设置,用户级设置仍是
true,得同步改掉用户设置 - 双击文件不受此设置影响,它永远常驻;但 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)在资源管理器里单击,会硬编码走预览,完全无视这个开关
Ctrl+Click 跳转定义还是斜体?关 workbench.editor.enablePreviewFromCodeNavigation
按住 Ctrl 点函数名跳转后标签仍是斜体,不是 workbench.editor.enablePreview 没生效,而是 workbench.editor.enablePreviewFromCodeNavigation 在起作用。F12、Shift+F12、Alt+F12 全部受它控制。
- 在设置中搜索
enablePreviewFromCodeNavigation,设为false - 如果你装了 Vim 插件,Ctrl+Click 可能被键盘映射拦截,需检查
vim.handleKeys配置是否禁用了该组合键 - 这个设置只在
workbench.editor.enablePreview为true时才生效;如果你已设为false,它就不起作用——但 Ctrl+Click 仍可能强制预览,属于 VSCode 硬编码行为
搜索结果双击、Ctrl+P 回车后还是预览?查 search.editor.doubleClickBehaviour 和 enablePreviewFromQuickOpen
即使其他都关了,搜索面板里双击匹配行、或 Ctrl+P 输入文件名后回车,仍可能打开预览页——因为它们各自走独立逻辑。
-
search.editor.doubleClickBehaviour默认是gotoLocation,会触发预览;改成open才强制常驻 -
workbench.editor.enablePreviewFromQuickOpen控制 Ctrl+P 行为,设为false才能禁用 - 这两个配置和
workbench.editor.enablePreview无依赖关系,必须显式设置
为什么关了所有设置,还有斜体标签?这些操作根本绕过设置
VSCode 中有些行为压根不读取任何预览开关,属于编辑器组(editor group)底层策略,无法通过配置关闭:
- Alt+Click(Windows/Linux)或 Option+Click(macOS)在资源管理器里点文件 → 强制生成临时预览标签
- 把文件拖拽到另一个 editor group(比如右侧分屏)→ 默认就是预览态,左上角带小箭头
- GitLens、Test Explorer、Todo Tree 等扩展内部调用的是
vscode.window.showTextDocument(..., { preview: true })API,得去对应扩展文档查是否有enablePreview类选项
这类标签只有手动右键 → “Keep Open”,或按 Enter(焦点在标签上时)才能转为常驻。真要彻底避免,就得改操作习惯:不用 Alt+Click,不拖拽,全部用双击或回车确认。


















