禁用预览模式需设"workbench.editor.enablePreview": false,且同步修改用户级设置;仍需额外禁用enablePreviewFromQuickOpen、enablePreviewFromCodeNavigation等独立开关,并可用workbench.editorAssociations按文件类型精细控制。

关掉 workbench.editor.enablePreview 是唯一有效解法
VSCode 单击资源管理器文件只闪一下就消失,不是卡顿,也不是插件冲突,就是预览模式在起作用。设 "workbench.editor.enablePreview": false 后,单击立即生成常驻、正体、带未保存标识(圆点)的标签页,且无需重启——改完即生效。
注意设置层级:如果右下角显示「Workspace Settings」,说明你只改了当前项目配置,而用户级设置仍是 true,必须同步修改用户设置,否则无效。
- 图形界面操作:
Ctrl+,→ 搜索enablePreview→ 取消勾选「Workbench > Editor: Enable Preview」 - 手动编辑更可靠:打开
Preferences: Open Settings (JSON)→ 在{}内加一行:"workbench.editor.enablePreview": false - 已打开的斜体标签不会立刻变正体,但会在下次保存、切换或关闭时自动转为常驻状态
workbench.editor.enablePreviewFromQuickOpen 仍会绕过全局开关
即使 workbench.editor.enablePreview 已设为 false,用 Ctrl+P(或 Cmd+P)搜索文件后回车,仍可能触发预览——这是 VSCode 的硬编码行为,受独立配置项控制。
该配置默认为 true,且仅在 workbench.editor.enablePreview 为 true 时才被读取;但实测中,部分版本或扩展会无视该前提,直接启用它。稳妥做法是显式禁用:
- 添加
"workbench.editor.enablePreviewFromQuickOpen": false到 settings.json - 同理,若跳转定义(
Ctrl+Click)仍出预览页,需加"workbench.editor.enablePreviewFromCodeNavigation": false -
workbench.editor.enablePreviewFromExplorer已废弃,但旧扩展可能仍在读取,存在即建议设为false
workbench.editorAssociations 控制特定文件类型是否预览
全关预览太粗暴?想让 .md、.json 保持轻量预览,但 .ts、.py 必须常驻?files.associations 不管用——它只影响语法高亮,不控制预览行为。
真正起效的是 workbench.editorAssociations,支持按文件名模式匹配并指定是否启用预览:
- 示例:强制
.ts文件不走预览,用默认文本编辑器打开
"workbench.editorAssociations": [
{
"viewType": "default",
"filenamePattern": "*.ts",
"enablePreview": false
}
]
注意:viewType 必须写对(如 default、vscode.markdown.preview.editor),通配符只支持 * 和 **,不支持正则;数组顺序决定优先级,规则靠前的先匹配。
预览页没有未保存标识,是最容易忽略的风险点
斜体标签页(预览页)左上角没有圆点,也不出现在 Ctrl+Tab 历史栈里。你改了十几行代码,切走之后再回来,发现内容还在——但其实它根本没被保存过,一旦误关或崩溃,所有改动直接丢。
这不是 bug,是设计:预览页本就不该承载编辑任务。所以哪怕你只关了 workbench.editor.enablePreview,也得检查有没有扩展(比如 GitLens blame、Todo Tree 点击跳转)内部调用预览 API,它们不受主设置约束,得单独查文档关掉对应开关。


















