关闭workbench.editor.enablePreview设为false即可禁用预览模式,单击文件变为常驻正体标签页,已打开的斜体标签自动转为常驻;该设置需在用户级生效,改后立即生效无需重启。

关掉 workbench.editor.enablePreview 就行,这是唯一必须改的设置,其他操作都是绕弯子。
为什么单击文件只闪一下就没了
这不是卡顿,也不是插件冲突,是 VSCode 默认开启预览模式:单击资源管理器里的文件,会生成一个斜体、可被覆盖的临时标签页。它不保存状态、不能拖拽、不计入 Ctrl+Tab 历史——你根本没法把它当“正在编辑的文件”来用。
-
workbench.editor.enablePreview默认为true,所有新装 VSCode 都这样 - 设为
false后,单击即生成常驻、正体、带未保存圆点标识的新标签页 - 已打开的斜体标签会自动转为常驻状态(但内容不会自动保存,这点要小心)
- 改完立刻生效,不用重启
怎么改才真正生效
图形界面容易漏改层级,手动编辑 settings.json 更可靠:
- 打开
Preferences: Open Settings (JSON) - 在最外层
{}内加一行:"workbench.editor.enablePreview": false - 检查右下角是否显示
Workspace Settings—— 如果显示,说明你只改了当前项目,用户级设置仍是true,得同步改掉用户设置
别信“只改工作区就够了”,VSCode 会按优先级叠加配置,用户设置没关,工作区关了也白搭。
关了还出现斜体标签?这些地方也得动
即使 workbench.editor.enablePreview 是 false,以下行为仍走独立逻辑,会强制触发预览:
-
workbench.editor.enablePreviewFromQuickOpen:控制 Ctrl+P / Cmd+P 搜索后回车的行为,默认true,建议一并设为false -
workbench.editor.enablePreviewFromCodeNavigation:跳转定义(Ctrl+Click)默认仍预览,设为false可避免 -
search.editor.doubleClickBehaviour:搜索结果中双击文件,默认是预览,设为"open"才常驻 - macOS 上 Cmd+Click 资源管理器文件是硬编码预览,无法通过设置关闭;想绕过就用 Ctrl+Click 或双击
想保留部分预览?用 workbench.editorAssociations 精控
全关太粗暴?可以用 workbench.editorAssociations 按文件类型指定行为:
- 规则按数组顺序匹配,越靠前优先级越高
-
viewType必须对应内置或扩展注册的编辑器标识,比如"*.md": "vscode.markdown.preview.editor" -
files.associations不管用——它只影响语法高亮,和预览无关 - 示例:让
.ts和.json直接常驻,.md默认预览:"workbench.editorAssociations": [ { "fileNamePattern": "*.ts", "viewType": "default" }, { "fileNamePattern": "*.json", "viewType": "default" }, { "fileNamePattern": "*.md", "viewType": "vscode.markdown.preview.editor" } ]
这个配置不改变全局预览开关,而是覆盖特定文件类型的打开方式——但要注意,它依赖扩展是否正确注册了 viewType,写错标识(比如把 vscode.markdown.preview.editor 写成 markdown-preview)会导致配置静默失效。


















