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

关掉 workbench.editor.enablePreview 就行,设为 false 后单击文件立刻变成常驻标签页,斜体消失,不再“闪退”。这是唯一必须改的核心配置。
为什么单击文件总在同一个标签页里闪一下就没了
这是 VSCode 默认的预览模式行为:单击资源管理器里的文件,不是真正打开,而是临时占一个可被覆盖的标签页。它用斜体标识,不是字体问题,也不是 bug。
-
workbench.editor.enablePreview默认是true,所有新装 VSCode 都会这样 - 改完不用重启,已打开的斜体标签会自动转为正体、常驻状态
- 如果右下角显示「Workspace Settings」,说明你只改了当前项目设置,用户级设置仍是
true,得同步改掉 - 双击文件不受该配置影响——它永远常驻,所以不会出现斜体;但双击斜体标签页本身(即预览页)可以把它固定,快捷键是
Enter
关了设置还是有斜体标签?这些操作绕过全局开关
即使 "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类开关
想保留预览但只对特定文件类型禁用
不能用 files.associations(它只管语法高亮),得用 workbench.editorAssociations:
"workbench.editorAssociations": [
{
"viewType": "default",
"filenamePattern": "*.ts",
"enablePreview": false
}
]
- 这个数组按顺序匹配,前面规则优先
-
viewType: "default"表示使用内置文本编辑器;其他值如"markdown.preview"可用于控制预览视图行为 - 通配符支持
*和**,但不支持正则表达式 - 如果你希望
.md文件保持预览轻量,而所有.js和.ts必须常驻,就把.ts和.js规则放在前面
最易被忽略的是:预览页没有 unsaved changes 标识(没圆点),改了几行代码却没注意它还是预览状态,切走再回来,改动可能被新文件覆盖。这不是设置没生效,是行为惯性导致的误操作。


















