设"workbench.editor.enablepreview": false可禁用全局预览,使单击文件生成常驻正体标签页;但ctrl+click、ctrl+p、跳转定义等需额外关闭对应开关,且须同步修改用户级设置以防覆盖。

直接设 "workbench.editor.enablePreview": false 就能关掉全局预览,所有单击行为(资源管理器、Ctrl+P、跳转定义)都会变成常驻标签页,斜体消失,且设置后立即生效,不用重启。
为什么改了设置还看到斜体标签
即使 "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类开关
按触发来源分别关预览,不误伤常用操作
VSCode 把预览控制拆成多个独立配置项,只在 "workbench.editor.enablePreview": true(默认)前提下生效。混搭使用可精准控制:
-
"workbench.editor.enablePreviewFromExplorer": false→ 资源管理器单击/双击不预览(注意:双击本身永远常驻,此配置只影响单击) -
"workbench.editor.enablePreviewFromQuickOpen": false→Ctrl+P打开文件后不预览 -
"workbench.editor.enablePreviewFromCodeNavigation": false→Ctrl+Click跳转定义、F12 查引用时不预览
例如你写代码时频繁跳转但不想挤掉当前标签,就只关第三项;其他保持默认即可。
让特定文件类型强制走某编辑器(比如 .md 直接预览)
想点开 .md 文件就进渲染视图,而不是文本编辑器?靠 workbench.editorAssociations:
{
"workbench.editorAssociations": {
"*.md": "vscode.markdown.preview.editor"
}
}
关键点:
-
viewType必须写对:"vscode.markdown.preview.editor"(不是markdown.preview或带短横线的变体) - 通配符支持
*.md、README.md等精确匹配;数组顺序决定优先级 - 改完要关闭已打开的
.md标签,再从资源管理器点开才生效
这个配置和预览模式无关,它只是指定“用哪个编辑器打开”,哪怕预览模式已关,.md 仍会进渲染视图。
最易忽略的是:右下角显示「Workspace Settings」说明你只改了当前项目设置,用户级设置仍是 true,得同步改掉;还有像 Ctrl+Click 在资源管理器里单击这种硬编码行为,任何配置都拦不住——只能接受或换操作习惯。











