彻底禁用vscode预览模式需设"workbench.editor.enablepreview": false,单击文件即常驻、斜体消失;但跳转定义、搜索双击、ctrl+p等行为需分别配置enablepreviewfromcodenavigation、search.editor.doubleclickbehaviour等对应开关。

VSCode 的「预览模式」不是 bug,是默认开启的编辑器行为:单击资源管理器文件,它会以斜体标签临时占位,再点别的文件就直接替换——这不是你想要的“每个文件独立常驻”。要让它符合日常开发习惯,关键不是装插件,而是关掉 workbench.editor.enablePreview。
怎么彻底禁用预览模式(单击不斜体)
核心就是关闭全局预览开关:
- 打开设置(
Ctrl+,),搜索enablePreview - 找到
Workbench > Editor: Enable Preview,取消勾选 - 或手动编辑
settings.json,添加:"workbench.editor.enablePreview": false
- 无需重启,立即生效;已有的斜体标签会在下次保存或切换时自动转为常驻标签
注意:这个设置只影响「资源管理器单击」行为。如果你还看到斜体标签,大概率是来自跳转定义(Ctrl+Click)、搜索结果双击、或命令面板(Ctrl+P)打开的文件——它们有独立控制项。
为什么关了设置还有斜体标签?分来源排查
VSCode 对不同触发路径做了细粒度控制,全局关掉后仍可能残留斜体,是因为这些操作没走资源管理器逻辑:
-
Ctrl+Click跳转定义:受workbench.editor.enablePreviewFromCodeNavigation控制,设为false才禁用 - 搜索结果中双击文件:由
search.editor.doubleClickBehaviour决定,设为"open"可避免预览 -
Ctrl+P输入文件名回车:需额外设置workbench.editor.enablePreviewFromQuickOpen为false - 拖拽文件到另一个编辑器组(split view):这是
editorGroup的默认策略,和预览设置无关,属于正常行为
PDF 和 Markdown 文件的预览行为要单独处理
这两类文件的「预览」和编辑器的 enablePreview 不是一回事:
- PDF 文件依赖扩展(如
vscode-pdfviewer),它的「预览」是渲染行为,和标签页是否斜体无关;双击 PDF 默认打开的是 PDF 渲染视图,不是编辑器预览模式 - Markdown 的
Ctrl+Shift+V是唤起独立预览窗格,也不受workbench.editor.enablePreview影响;但如果你希望 .md 文件单击就进预览而非编辑模式,得配workbench.editorAssociations:"workbench.editorAssociations": { "*.md": "vscode.markdown.preview.editor" } - 注意
vscode.markdown.preview.editor中的点号不能写成短横线,否则配置无效且出现黄色波浪线
容易被忽略的边界情况
即使所有预览开关都关了,某些场景下你仍可能遇到“看似预览”的行为:
- 右键 →「Open With」→ 选某个编辑器(比如
Default Editor),这个动作本身就会触发一次预览式打开,和设置无关 - 通过终端命令
code file.pdf启动 VSCode 时,文件默认以预览方式加载,需加--goto或配合-r参数控制 - 多根工作区中,不同文件夹可能有各自
.vscode/settings.json,优先级高于用户设置,容易覆盖你的全局配置
真正决定标签是否斜体的,从来不是文件类型,而是「谁触发了打开动作」以及「对应路径的 enablePreviewFromXxx 是否为 true」。











