ctrl + (windows/linux)或 cmd + (macos)是打开sublime控制台的正确快捷键;需手动启用log console messages才能看到插件print()输出;traceback是定位插件错误的第一手线索;ansiescape插件可渲染构建输出中的彩色日志。

Ctrl + ` 才是打开控制台的正确快捷键
绝大多数人卡在第一步:按了 Ctrl + ~ 或 Ctrl + Shift + `,控制台没反应——其实正确组合键是 Ctrl + `(Windows/Linux)或 Cmd + `(macOS),` 是 Tab 键正上方那个键,不加 Shift。试试按住 Shift 看是否输出 ~;若输出,那不加 Shift 就是 `。
常见干扰源:
- 远程桌面工具(如 TeamViewer、ToDesk)劫持了该热键
- 杀毒软件或键盘增强工具(如 PowerToys)占用了组合键
- 最稳兜底方式:菜单栏点击
View → Show Console(注意不是Tools或Developer下)
成功打开后底部会显示 >>> 提示符,此时可直接输入 print("test") 测试是否就绪。
插件日志默认不输出,必须手动开启
写了 print("debug") 却看不到任何内容,不是插件没运行,而是 Sublime 默认屏蔽所有插件的 print() 输出。控制台本身不会自动捕获这些日志,必须手动启用。
操作步骤:
- 确保控制台已打开(
Ctrl + `) - 触发插件行为(比如保存文件、调用命令)
- 仍无输出?进菜单:
Tools → Developer → Log Console Messages,勾选它
勾选后,插件中所有 print()、sublime.status_message() 和未捕获异常都会实时刷出。
小技巧:print() 不自动换行,多条日志容易挤成一团,建议写成 print("debug:", var, "\n")。
看到 traceback 别慌,那是最该盯住的第一手线索
控制台顶部刷出红色报错堆栈(Traceback),不是“编辑器卡了”,而是插件启动或运行时真出错了——这是定位问题最快的方式。
典型现象:
- 插件刚加载就崩溃:启动时出现
SyntaxError或ImportError,说明代码有语法问题或依赖缺失 - 执行某命令时报错:比如
AttributeError: 'NoneType' object has no attribute 'file_name',说明某个 API 调用返回了None - 中文路径/文件名导致
UnicodeDecodeError:常见于构建系统或文件读写逻辑中未指定编码
别跳过 Traceback 最后一行——那里明确写着错误类型和位置,比如 File "Packages/User/my_plugin.py", line 42,直接跳转到对应行即可开始修复。
ANSIescape 插件解决日志乱码与颜色丢失
Spring Boot、Rust、Node.js 等工具输出带 ANSI 颜色码的日志时,Sublime 默认会原样显示 \x1b[32mOK\x1b[0m 这类字符,而不是绿色文字。这不是编码问题,是终端转义序列未被解析。
解决方案只有一步:
- 按
Ctrl + Shift + P(macOS 为Cmd + Shift + P),打开命令面板 - 输入
Install Package,回车 - 输入
ANSIescape,在列表中选择并安装
安装后无需重启,下次构建或运行命令时,彩色日志会自动渲染。注意:该插件只作用于构建输出面板(Ctrl + Shift + B 弹出的窗口),不影响控制台(Ctrl + `)中的 print() 输出。
真正容易被忽略的是:ANSIescape 不处理文件读取日志、不重写插件 print() 内容,它只拦截构建系统 stdout/stderr 的原始字节流——所以如果你在插件里用 subprocess.run(..., capture_output=True) 拿到输出再 print(),颜色照样丢。这时候得自己解析 ANSI 序列,或者改用 subprocess.run(..., stdout=sys.stdout) 直接透传。











