Ctrl+Shift+F9仅清除当前激活launch.json配置的断点,需先启动调试才能生效;真正全局清除应使用命令面板执行Debug: Remove All Breakpoints。

按 Ctrl+Shift+F9(Windows/Linux)或 Cmd+Shift+F9(macOS)能立即取消当前调试会话中的所有中断,但这个操作不等于“全局清除”——它只作用于当前激活的 launch.json 配置,且对未启动过的调试器静默失败。
为什么 Ctrl+Shift+F9 有时没反应
这个快捷键依赖调试器已加载。如果还没点过 F5 或点击“运行和调试”,VS Code 不会初始化断点注册表,此时按键无任何提示,也清不掉任何东西。常见误操作是:改完代码直接按快捷键,结果断点还在。
- 必须先触发一次调试(哪怕立刻
Shift+F5停止),再按Ctrl+Shift+F9才生效 - 若用了多个
launch.json配置(比如"name": "Backend"和"name": "Frontend"),切换配置后需重新执行该快捷键 - 某些插件(如 Jest Runner)会在启动时自动注入断点,这类断点不走标准注册路径,
Ctrl+Shift+F9清不掉
真正清空当前工作区所有断点:用命令面板
比快捷键更可靠的方式是调用内置命令 Debug: Remove All Breakpoints,它不依赖调试器状态,也不受 launch 配置隔离影响。
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P)打开命令面板 - 输入
Debug: Remove All Breakpoints,回车 - 该操作会清掉当前 workspace 下所有已注册断点,包括禁用的(灰色圆点)、日志断点(?)、条件断点(带 expression 的红点)
- 注意:它不影响
launch.json文件内容,也不会删除stopOnEntry: true这类配置项
多根文件夹 workspace 下的断点残留问题
如果你打开了多个文件夹(Multi-root workspace),Debug: Remove All Breakpoints 只清理当前聚焦文件夹的断点。其他根目录里的断点不会被触碰,这是 VS Code 的设计行为,不是 bug。
- 检查是否在错误的根目录下执行了清除命令:看左下角状态栏显示的是哪个文件夹名
- 逐个切换根目录,重复执行
Debug: Remove All Breakpoints - 若某文件夹里断点反复出现,检查其
.vscode/settings.json是否含类似"python.debugging.breakpointPersistence"的插件专属配置项 - 极少数情况需手动清理
%APPDATA%\Code\User\workspaceStorage\(Windows)或~/Library/Application Support/Code/User/workspaceStorage/(macOS)中对应 workspace 的缓存子目录 —— 但这是最后手段,删错可能影响其他调试设置
断点本身不存配置文件里,所以删 settings.json 或 launch.json 没用;真正顽固的残留,往往来自插件缓存或跨 workspace 的状态隔离。动手前先确认你面对的是哪一层问题。


















