VSCode预览模式需分场景控制:全局设"workbench.editor.enablePreview": false可一键禁用所有来源预览,但属一刀切;更推荐按来源细调,如仅禁用资源管理器预览则设"workbench.editor.enablePreviewFromExplorer": false,该设置仅在全局预览开启时生效。

VSCode 默认的“预览模式”不是单一开关,而是由多个独立配置项分场景控制的——直接改 workbench.editor.enablePreview 最快,但容易误伤;按来源细调才真正可控。
关掉所有预览:全局设 workbench.editor.enablePreview 为 false
这是最直白的做法,改完立刻生效,不用重启。它会让以下所有路径都打开常驻标签页:
- 资源管理器里单击文件
-
Ctrl+P搜索后回车 -
Ctrl+Click跳转定义或引用
已有的斜体标签不会马上变正,但下次保存、切换标签或重新打开时会自动转为常驻状态。注意:它是一刀切,如果你只希望资源管理器不预览,而 Ctrl+P 还想保留快速查看能力,就别用这个。
只关资源管理器预览:设 workbench.editor.enablePreviewFromExplorer
这是最常被需要的场景——单击文件就占一个标签页,而不是总被覆盖。只需在 settings.json 中加这一行:
"workbench.editor.enablePreviewFromExplorer": false
其他行为不受影响:Ctrl+P 和跳转定义仍走预览(除非你额外关掉对应项)。特别注意:这个设置只在 workbench.editor.enablePreview 为 true(默认)时才起作用;如果全局已关,它就失效了。
为什么关了还看到斜体标签?常见绕过路径
即使所有相关设置都关了,仍可能见到斜体标签,通常不是配置没生效,而是触发方式绕过了编辑器预览逻辑:
- 拖拽文件到另一个编辑器组(split view)时,VSCode 底层会强制生成临时预览标签,这和
enablePreview无关 - GitLens 的 diff 视图、Test Explorer 的日志文件、某些调试器输出的源码链接,它们调用的是底层 API,不走标准打开流程
-
Ctrl+P输入后按方向键选中再回车,部分版本仍会沿用旧策略;建议统一用回车确认,避免方向键触发隐式预览
这类标签无法通过设置消除,属于 VSCode editorGroup 的固有行为。
让 .md 文件默认进预览视图:靠 workbench.editorAssociations
这不是“预览模式”的开关,而是文件类型绑定。想点开 .md 就直接显示渲染效果(不是文本编辑器),加这段:
"workbench.editorAssociations": { "*.md": "vscode.markdown.preview.editor" }
关键点:
-
viewType必须写成vscode.markdown.preview.editor,少一个点、多一个短横线都不行 - 改完要关掉已打开的
.md标签,再从资源管理器点开才生效 - 它和
markdown.preview.openonstartup不冲突,但后者只在文本编辑器里打开预览面板,而这个是直接替换整个编辑器视图
真正难搞的从来不是怎么开或关,而是不同来源、不同文件类型、不同扩展之间的行为叠加——比如 GitLens + Markdown 预览 + 分屏拖拽,这时候斜体标签就成常态了,得一层层看触发路径,而不是反复改同一个设置。











