控制台打不开或没输出,先确认基础通路是否畅通:ctrl+(非ctrl+~或ctrl+shift+)是唯一可靠打开方式;远程桌面常劫持该热键,此时须用view→show console;底部出现>>>提示符并能执行print("test")才算就绪;插件中print()默认被屏蔽,必须勾选tools→developer→log console messages才可见;红色traceback首行file路径精准指向问题插件,是调试第一手线索。

控制台打不开或没输出,先确认基础通路是否畅通
按 Ctrl + `(不是 Ctrl + ~ 或 Ctrl + Shift + `)是唯一可靠打开方式;远程桌面软件常劫持该热键,此时必须走菜单 View → Show Console。打开后底部应出现 >>> 提示符,输入 print("test") 回车,有输出才算就绪。
插件里的 print() 默认不显示——这不是 bug,是 Sublime 的默认屏蔽策略。必须手动启用:菜单 Tools → Developer → Log Console Messages,勾选它。否则无论你在插件里写多少 print("debug"),控制台都安静如鸡。
常见误判点:
- 以为快捷键失效是插件问题,其实是键盘映射或远程工具拦截
- 看到控制台空着就重启 Sublime,却没开
Log Console Messages,等于白忙 -
print()不自动换行,连续输出会糊成一行,建议统一写成print("step:", x, "\n")
堆栈最顶行才是定位插件的黄金线索
插件崩溃弹窗(如 plugin_host has exited unexpectedly)只是表象。真正关键信息在控制台顶部刷出的第一条红色 Traceback,尤其盯住第一行 File "./Packages/XXX/xxx.py" —— 这个 XXX 就是问题插件名,准确率超 90%。
别扫全屏红字,只看堆栈最上面 2–3 行:
-
ImportError: cannot import name 'create_connection'→ 基本锁定是旧插件硬编码调用了 Sublime 内置 Python 不支持的urllib.request函数 -
AttributeError: 'NoneType' object has no attribute 'file_name'→ 插件没判空就直接调用view.file_name(),常见于事件回调中view为None时 - 堆栈末尾出现
NoneType is not callable→ 很可能插件主文件里声明了on_activated回调,但实际函数体被删了或拼写错误
路径如 File "Packages/User/my_plugin.py", line 42 可直接用 Ctrl + G 跳转,但注意:必须确保焦点在对应文件的编辑区,且输入法为英文状态。
file_regex 配置缺失会导致双击错误行不跳转
Sublime 本身不解析异常堆栈,所谓“双击跳转”完全依赖构建系统输出是否匹配 file_regex 正则。如果构建失败后底部面板显示 main.js:42:15 但双击无反应,八成是 file_regex 没配或配错。
检查路径:Tools → Build System → New Build System…,确认 JSON 中存在 "file_regex" 字段:
- 对
index.ts:287:12类格式:"file_regex":"^(..[^:]*):([0-9]+):([0-9]+):? ?(.*)$" - 对 Python 默认报错(含引号):
"file_regex":"File \"([^\"]+)\", line ([0-9]+)"
注意两点:
- 路径必须可解析:报错里是
/home/user/proj/utils.py,而你打开的是未带路径的utils.py标签页,Sublime 找不到,也不会新建文件 -
Ctrl + G跳的是物理行,不是堆栈里的逻辑行。Vue 单文件组件报错说MyComponent.vue:89,但<script></script>从第 10 行开始,那得跳物理第 99 行,不是 89
ignored_packages 静默忽略插件,比报错更难察觉
插件装上了、文件放对了、快捷键也绑了,但命令面板搜不到、右键没菜单、控制台完全没日志——大概率它已被 Sublime 自动加进 ignored_packages 列表,加载链彻底跳过。
验证方法:打开命令面板,执行 Preferences: Package Control,在控制台输出里搜索 ignored_packages。如果看到你的插件名(比如 "SideBarEnhancements"),说明它根本没被加载。
修复步骤:
- 打开 Preferences → Settings – User
- 找到
"ignored_packages"这一行,整行删掉,或从中移除对应插件名 - 保存后必须重启 Sublime,
ignored_packages列表不会热重载
容易被忽略的细节:插件名大小写敏感,emmet 和 Emmet 在 Sublime 看来是两个不同插件,可能一个被忽略,另一个还在运行,造成干扰。









