应将 "debug.editorMode" 设为 "open" —— 此设置专控调试器跳转行为,设为 "open" 后断点、调用栈、变量跳转均以常驻标签页打开,斜体预览问题即解决,无需重启,全局生效。

断点调试时跳转源码仍开预览页,怎么关?
VSCode 调试器(Debugger)在点击断点、变量、调用栈或按 F10/F11 单步时跳转到源码行,默认会以预览模式打开文件——标签斜体、无圆点、切走即丢内容。这不是 workbench.editor.enablePreview 能控制的,它走的是调试器专属路径。
真正起作用的是:debug.openDebugViewOnBreak 和 debug.showInExplorer 不相关,关键开关是:debug.editorMode。
-
"debug.editorMode": "open"—— 强制常驻标签页(推荐),跳转后标签正体、带未保存标识,Ctrl+Tab 可见,拖拽可用 -
"debug.editorMode": "preview"—— 默认值,就是你看到的斜体预览页 - 该设置只影响调试器触发的跳转,不影响 Ctrl+Click 或搜索等其他行为
- 改完无需重启,下次断点命中立即生效
为什么改了 workbench.editor.enablePreview 还没用?
因为调试器跳转不读这个全局开关。它绕过所有 enablePreviewFromXxx 配置项,完全由 debug.editorMode 独立控制。哪怕你把 workbench.editor.enablePreview、workbench.editor.enablePreviewFromCodeNavigation 全设为 false,断点跳转依然预览。
常见误判场景:
- 你在调试时点了“Call Stack”里某一行,标签斜体 → 是
debug.editorMode没设 - F11 进入函数后新文件闪一下就没了 → 同上
- 变量面板里右键“Go to Definition”,结果开了预览 → 那是代码导航行为,归
workbench.editor.enablePreviewFromCodeNavigation管,和调试器无关
如何安全配置并避免冲突?
直接在 settings.json 里加这一行即可,无需 GUI 操作(GUI 里搜不到这个配置):
"debug.editorMode": "open"
注意:
- 不要写成
"debug.editorMode": true或"debug.editorMode": "true",只接受"open"或"preview" - 如果同时用了多语言调试器(如 Python、Go、Node.js),该设置全局生效,无需为每个调试器单独配
- 某些旧版插件(如老版本 Python 扩展)可能忽略此设置,升级到 2026 年主流版本可确保兼容
还有斜体?检查是不是“调试控制台”输出行被点击了
调试控制台(Debug Console)里打印的文件路径,点击后默认走预览逻辑,且不受 debug.editorMode 控制。这是 VSCode 的硬编码行为,目前无配置项可关。应对方式只有两个:
- 手动按
Enter或右键 → “Keep Open” 固定标签 - 改习惯:在控制台里复制路径,用
Ctrl+P输入后回车(前提是已设workbench.editor.enablePreviewFromQuickOpen: false)
真正的调试流里,断点、调用栈、变量跳转这三处,debug.editorMode 就是唯一且确定的开关。别再翻其他预览设置项了。


















