必须将 workbench.editor.enablePreview 设为 false,且需同步修改用户级设置;Ctrl+Click、Ctrl+P、搜索双击等行为需额外配置对应开关;预览页无未保存标识,易导致内容丢失。

直接设 workbench.editor.enablePreview 为 false 就行
这是唯一必须改的配置,改完单击资源管理器文件立刻变成常驻标签页,斜体消失,不再被后续点击覆盖。它不区分触发来源——Ctrl+P、跳转定义、搜索结果点开,全受控。设置生效无需重启,已打开的斜体标签会在下次保存或切换焦点时自动转为正体常驻状态。
别只改工作区设置,用户级也得同步关
右下角如果显示「Workspace Settings」,说明你只改了当前项目目录下的 settings.json,而全局用户设置里 workbench.editor.enablePreview 仍是 true,实际行为仍按用户级为准。必须同时检查并修改用户级设置(可通过 Ctrl+, → 打开设置 → 点右上角“打开设置(JSON)” 查看路径是否含 User 字样)。
关了还是有斜体?这些操作绕过全局开关
即使 workbench.editor.enablePreview 是 false,以下行为仍会强制生成预览页:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)在资源管理器中单击:VSCode 硬编码逻辑,无法通过设置禁用 - 命令面板(
Ctrl+P)输入文件名后回车:需额外设workbench.editor.enablePreviewFromQuickOpen为false - 搜索结果中双击文件:受
search.editor.doubleClickBehaviour控制,设为"open"可避免预览 - 跳转定义(
Ctrl+Click代码符号):需设workbench.editor.enablePreviewFromCodeNavigation为false - 某些扩展(如 GitLens blame 行、Todo Tree 点击任务)内部调用预览 API,得查对应扩展文档是否有
enablePreview类开关
预览页没保存标识,最容易被忽略的风险点
预览页左上角没有未保存标识(圆点),编辑几行代码后切走,再回来可能发现内容根本没保存过——因为预览页内容不会自动写入磁盘,除非你手动保存或先把它固定(快捷键 Enter)。这个行为在远程开发(SSH/Containers)下更隐蔽,卡住时你以为是编辑器卡了,其实是预览页没响应保存逻辑。











