Sublime构建系统需保存为Packages/User/下后缀.sublime-build的JSON文件,cmd须为数组且Windows路径加引号和双反斜杠,selector要匹配文件scope,$file要求已保存文件。

直接在 Tools → Build System → New Build System… 里新建,保存到 Packages/User/ 目录下、后缀为 .sublime-build 的合法 JSON 文件,就能立刻用 —— 不需要重启、不依赖插件、不是脚本,只是一个配置文件。但放错位置、写错逗号、路径没引号,Ctrl+B 就会静默失败。
文件必须放在 Packages/User/ 才生效
Sublime 只从两个地方加载构建系统:内置只读包(你改不了),和 Packages/User/。丢在桌面、项目根目录、甚至 Packages/MyLang/ 里,都不会出现在菜单中,Ctrl+B 也完全无反应。
- 用
Preferences → Browse Packages…打开目录,直接进User/子文件夹 - 新建文件,命名为类似
Python3_Run.sublime-build,后缀必须是.sublime-build - 保存后如果没立刻出现,试试
Tools → Build System → Refresh Projects(部分版本需要)
cmd 必须是数组,Windows 路径要加引号+双反斜杠
写成字符串(如 "cmd": "python -u $file")会彻底失效;Windows 下路径含空格(比如 C:Program FilesPython312python.exe)不加引号就直接崩。
- 正确写法(Windows):
"cmd": ["C:\Program Files\Python312\python.exe", "-u", "$file"] - 正确写法(macOS/Linux):
"cmd": ["python3", "-u", "$file"](前提是终端里which python3能查到) - 别依赖 PATH:从开始菜单启动的 Sublime 和终端里
subl .启动的,继承的环境变量可能不同;绝对路径最稳
selector 决定是否自动激活
没设 selector,或者写错了(比如写成 python 而不是 source.python),Ctrl+B 就不会触发这个构建系统——哪怕它显示在菜单里。
- Python 文件对应
"selector": "source.python" - C++ 文件对应
"selector": "source.c, source.cpp" - 检查当前文件的 scope:按
Ctrl+Shift+P→ 输入show scope回车,看输出里有没有匹配的source.python - 想让它对所有文本文件生效(“万能运行”),可用
"selector": "source | text",但需配合shell_cmd和脚本判断后缀
调试时别跳过 quiet 和 shell
quiet: true 会隐藏完整命令和错误,导致你只能看到 [Finished in 0.1s] 却不知道哪错了。
- 加
"quiet": false,输出面板会显示真实执行的命令和stderr - 需要
&&、|、重定向等 shell 特性时,不能只靠cmd数组,得用"shell_cmd": "python -u "$file" 2>&1"并设"shell": true -
$file变量要求文件已保存;未命名文件(Untitled)会导致$file展开为空,命令直接失败
最容易被忽略的是 $file 的前提条件和 Windows 路径里的双反斜杠 —— 这两个点一错,整个构建系统就变成一个安静的摆设,连报错都看不到。

















