ctrl + (windows/linux)或 cmd + (macos)是打开sublime控制台的唯一有效快捷键;中文输入法、远程桌面、杀毒软件、自定义键绑定等常致失效;view → show console为最稳方式;控制台实时输出真实traceback、插件print需手动开启log console messages;日志不保存,须及时截图。

Ctrl + ` 是唯一有效的控制台打开方式
不是 Ctrl + ~,也不是 Ctrl + Shift + `,Windows/Linux 下必须按 Ctrl + `(Tab 键正上方那个反引号键,不加 Shift);macOS 是 Cmd + `。键盘上如果按 Shift + ` 输出 ~,松开 Shift 再按同一键就是正确触发键。
常见失效原因包括:
- 中文输入法处于激活状态——切到英文再试
- 远程桌面(如 TeamViewer、RDP)、Logitech Options 或 Razer Synapse 劫持热键
- 杀毒软件(火绒、360)静默拦截快捷键
-
Preferences → Key Bindings中用户自定义覆盖了默认绑定
最稳兜底操作:菜单栏 View → Show Console,底部出现 >>> 提示符才算真正就绪,此时可输 print("test") 验证解释器是否活。
控制台里刷出的红色 traceback 才是真报错源头
点 Ctrl + B 编译后看到的红色错误块只是构建系统的快照,双击无法跳转源码;而插件加载失败、语法错误、运行时异常的真实 traceback 全在控制台顶部实时打印,带完整路径和行号。
典型线索包括:
- 堆栈第一行含
File "./Packages/xxx/→ 直接定位问题插件名 - 出现
create_connection→ 插件误用了 Sublime 嵌入 Python 不支持的标准库函数 - 含
ssl、certifi、urlopen→ Package Control 自身网络层失败,不是你装的插件的问题 - 末尾是
NoneType is not callable→ 插件主文件里某个回调(如on_activated)被删或未定义
插件里的 print() 默认不输出,必须手动开日志开关
你在插件里写了 print("debug"),控制台却空空如也——这不是代码没运行,是 Sublime 默认屏蔽所有插件的 print() 输出。
操作路径:Tools → Developer → Log Console Messages,勾选它。之后以下内容都会实时出现:
- 插件中的
print()调用 -
sublime.status_message()提示 - 未捕获异常的红色 traceback
注意:print() 默认不换行,多条日志会挤成一行。建议写成 print("debug:", x, "\n") 或改用 sublime.status_message("msg") 避免混淆。
控制台不保存历史,关掉就丢,调试时别依赖它长期驻留
Sublime 控制台是运行时日志流,关闭后所有内容清空,不会落盘。看到关键报错(比如 ImportError: No module named 'xxx')要立刻截图或复制,否则重启后就得重现场景再触发一次。
尤其要注意那些“只出现一次”的错误:比如插件 __init__.py 里做了阻塞操作(读大文件、发 HTTP 请求),可能卡住 UI 且错误被吞掉;重启后控制台干净如初,但问题还在原地。











