sublime text 不支持真正断点,所谓“断点”实为书签;清空书签用 ctrl+shift+p(win/linux)或 cmd+shift+p(macos)执行 clear bookmarks;pdb 断点需在 repl 控制台中用 b/cl 命令手动管理,与书签完全无关。

Sublime Text 本身不支持“断点”概念,也没有原生调试器或断点管理界面——你看到的所谓“断点”,其实是书签(Bookmarks)被误当作断点在用。 这是绝大多数刚从 VSCode 或 PyCharm 切过来的用户踩的第一个坑。
为什么 Sublime 没有真正的断点?
Sublime 是纯文本编辑器,不是 IDE。它不解析 Python/JS 等语言的执行逻辑,也不挂钩运行时环境。所谓“打断点”,实际只是你在某行打了书签(Bookmark: Toggle Bookmark),再配合 SublimeREPL 手动启 PDB 后,靠人眼跳转到那些行去手动 b 10 设置断点。书签 ≠ 断点,只是个视觉标记。
- VSCode 的断点会写入
.vscode/launch.json并由调试器读取;Sublime 不生成任何调试配置文件 - 按
Ctrl+F2(或Cmd+F2)只是切换书签,不会传给 Python 解释器 - 即使你装了
SublimeREPL,PDB 的断点仍需在 REPL 控制台里用b命令手打,和书签位置无关
如何“清除所有断点”(即清空书签)?
如果你当前只是想把所有 Ctrl+F2 打过的标记去掉,那就清书签——这是唯一可行路径:
- Windows/Linux:按
Ctrl+Shift+P→ 输入Clear Bookmarks→ 回车 - macOS:按
Cmd+Shift+P→ 输入Clear Bookmarks→ 回车 - 别点菜单
Selection → Bookmarks → Clear Bookmarks,旧版中文界面可能映射失效 - 该操作只影响当前打开的文件,关闭文件后书签自动消失,无需额外清理
真要调试 Python,怎么设/删 PDB 断点?
当你通过 SublimeREPL → Python-PDB current file 启动后,进入的是标准 PDB 交互环境。此时断点由 PDB 管理,和 Sublime 书签完全解耦:
- 设断点:
b 15(在第 15 行设)、b myfunc(在函数入口设) - 删单个断点:
cl 15(清除第 15 行断点) - 删全部断点:
cl(不带参数,PDB 会提示确认) - 查看所有断点:
b(空命令) - 注意:
cl是 PDB 命令,必须在 SublimeREPL 的 PDB 控制台里输入,不是 Sublime 编辑器命令面板
真正容易被忽略的点:书签清完了,不代表 PDB 断点没了;PDB 断点删干净了,下次再跑 PDB 还得重设——两者生命周期、存储位置、触发机制全无关系。混用它们,只会让你分不清到底是编辑器没响应,还是调试器根本没加载断点。











