关掉workbench.editor.enablepreview设为false即可禁用预览模式,单击文件变为常驻正体标签页;需同步关闭enablepreviewfromquickopen和enablepreviewfromcodenavigation等绕过开关,并注意工作区与用户设置一致性。

关掉 workbench.editor.enablePreview 就行
VSCode 单击文件只闪一下、标签斜体、改了几行没圆点、切走再回来内容没了——全是因为 workbench.editor.enablePreview 默认是 true。把它设为 false 是唯一必须做的操作,改完立刻生效,不用重启,已打开的斜体标签会自动转成正体常驻页。
操作路径:Ctrl + ,(或 Cmd + ,)→ 搜索 enablePreview → 取消勾选 Workbench > Editor: Enable Preview。注意右下角是否显示「Workspace Settings」:如果显示,说明你只改了当前项目,用户级设置仍是 true,得同步改掉用户设置。
Ctrl+P 和跳转定义还在预览?补上这两个配置
即使 workbench.editor.enablePreview 关了,Ctrl+P(命令面板)输入文件名回车、或者 Ctrl+Click 跳转定义,仍可能触发预览——因为它们有独立开关。
-
workbench.editor.enablePreviewFromQuickOpen:控制Ctrl+P行为,设为false才能避免快速打开变预览 -
workbench.editor.enablePreviewFromCodeNavigation:控制跳转定义/引用时是否预览,也建议设为false
这两个值在 settings.json 里加一行就行,不需要重启。
为什么还有斜体标签?检查这几个绕过主开关的操作
斜体标签 ≠ 设置没生效,很可能是以下行为硬编码强制预览,无法通过全局开关禁用:
-
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)在资源管理器中单击:VSCode 底层逻辑,改设置无效 - 搜索结果中双击文件:由
search.editor.doubleClickBehaviour控制,设为"open"可避免预览 - GitLens、Todo Tree 等扩展内部调用预览 API:得查对应扩展文档,看有没有类似
enablePreview的开关
这些不是 bug,是 VSCode 明确保留的行为边界——你没法一刀切,只能按来源逐个堵漏。
想保留预览,但只对某些文件类型禁用?用 workbench.editorAssociations
files.associations 不管用,它只影响语法高亮;真正起效的是 workbench.editorAssociations,支持按文件名模式精细控制。
比如让所有 .ts 文件强制常驻,其他保持预览:
"workbench.editorAssociations": [
{
"viewType": "default",
"filenamePattern": "*.ts",
"enablePreview": false
}
]
规则按数组顺序匹配,前面优先;通配符只支持 * 和 **,不支持正则。最容易忽略的是:预览页没有未保存标识(没圆点),你改了代码却没注意它还是预览状态,切走再回来,改动可能直接被新文件覆盖。











