sublime text 的 console 是嵌入式 python 解释器,用于调试插件、捕获错误和执行 api;需用 ctrl+(macos 为 cmd+)打开,支持 print() 和 api 调用,但不支持 input() 或 shell 命令。

Sublime Text 的 Console 控制台不是终端,也不是浏览器 DevTools,它是一个嵌入式 Python 解释器,专为调试插件、捕获启动错误、执行 API 命令而存在。想靠它跑 shell 命令或交互式 input()?会卡住。
Ctrl + ` 才是唯一有效的打开方式
Windows/Linux 按 Ctrl + `,macOS 按 Cmd + `——这个 ` 是 Tab 键正上方的反引号键,不加 Shift。误按 Ctrl + ~ 或 Ctrl + Shift + ` 都不会响应。
- 键盘上找不到
`?按住Shift看是否输出~;若是,松开Shift再按同一键就是正确按键 - 快捷键失效常见原因:中文输入法激活、远程桌面工具(如 TeamViewer/RDP)劫持、杀毒软件拦截
- 最稳兜底方案:菜单栏点击
View → Show Console(注意不是 Tools 或 Developer 下) - 弹出后底部出现
>>>提示符,才表示解释器已就绪,可输入print("test")测试
插件里的 print() 为什么没输出?
不是插件没运行,而是 Sublime 默认屏蔽所有插件的 print() 输出。控制台本身不自动捕获 stdout,必须手动启用日志转发。
- 先确保控制台已打开(
Ctrl + `),再触发插件行为(比如保存文件、调用命令) - 仍无输出?进菜单:
Tools → Developer → Log Console Messages,勾选它 - 勾选后,插件中所有
print()、sublime.status_message()和未捕获异常都会实时刷出 -
print()不自动换行,多条日志会挤成一行;建议写成print("var:", x, "\n")
看到 traceback 别慌,那是最该盯住的第一手线索
控制台顶部刷出红色堆栈信息,不是“编辑器卡了”,而是插件在加载或运行时真实出错了——这是定位问题最快的方式。
- Sublime 启动时某插件有
SyntaxError或导入失败,控制台立刻打印完整 traceback,含插件路径和精确行号,例如:plugins/MyPlugin/my_command.py第 42 行 - 典型错误:
ImportError: No module named 'xxx'、AttributeError: 'NoneType' object has no attribute 'xxx' - 某些插件(如 Anaconda)报
swallow_startup_errors相关提示,可在Preferences → Package Settings → anaconda → Settings – User中添加:{"swallow_startup_errors": true}
用控制台直接调用 Sublime API 而不是写插件
控制台支持标准 Python 语法,并能调用全部公开 Sublime API,适合快速验证逻辑、临时修复或排查配置问题。
- 获取当前文件路径:
sublime.active_window().active_view().file_name() - 切换语法高亮:
view = sublime.active_window().active_view(); view.set_syntax_file("Packages/Python/Python.sublime-syntax") - 重载某个插件(如 Git):
sublime_plugin.reload_plugin("Git.Git")(注意大小写和点号) - 执行保存:
sublime.active_window().run_command("save") - 别写
input()——控制台不提供 stdin,会永久阻塞
最容易被忽略的是:控制台不保存历史、不支持 shell 命令、不处理编码转换;它只做三件事——执行 Python、暴露 API、捕获异常。把这三件事用清楚,比装十个插件都管用。









