Sublime Build System 是 Sublime Text 中用于定义代码构建任务的配置功能,通过 JSON 文件(.sublime-build)实现一键编译、运行或执行命令。支持多种语言,如 Python 和 C++,可通过 Tools → Build System → New Build System 创建自定义配置,常用字段包括 cmd、shell_cmd、file_regex、working_dir 和 selector。例如 Python 运行配置为 { “cmd”: [“python”, “-u”, “$file”], “file_regex”: “^s*File “(…?)”, line ([0-9]+)”, “selector”: “source.python” };C++ 配置则包含编译与运行变体(variants),先编译后通过 variant 调用生成的可执行文件。利用 variants 可定义多任务流程,如调试、测试或清理文件。该功能减少终端切换,提升开发效率,一次配置即可长期使用。

Sublime Build System 是 Sublime Text 编辑器中一个非常实用的功能,允许用户直接在编辑器内运行代码、编译项目或执行外部命令。它通过简单的 JSON 配置文件定义构建任务,支持多种语言和自定义流程,极大提升开发效率。
什么是 Sublime Build System
Sublime Build System 本质上是一组配置文件(.sublime-build),告诉 Sublime Text 如何处理你的代码。比如:运行 Python 脚本、编译 C++ 程序、执行 Shell 命令等。你无需切换到终端,只需按下 Ctrl+B(Windows/Linux)或 Cmd+B(Mac),即可触发构建操作。
每个构建系统对应一种语言或任务类型,你可以为不同项目设置不同的构建方式。
如何创建和配置构建系统
要添加新的构建系统,可以按照以下步骤操作:
- 打开菜单栏的 Tools → Build System → New Build System…
- 会弹出一个 JSON 模板,填写相应的命令和参数
- 保存为
MyBuild.sublime-build
,自动出现在构建系统列表中
常见字段说明:
- cmd:要执行的命令,使用数组形式传参
- shell_cmd:以 shell 方式运行的命令字符串(更简单,适合单行命令)
- file_regex:用于解析错误输出中的文件名和行号,方便跳转
- working_dir:设置工作目录,通常设为文件所在目录 ${file_path}
- selector:关联语法高亮类型,决定何时激活该构建系统
实际使用示例
以运行 Python 文件为例,配置如下:
{ "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File "(...*?)", line ([0-9]*)", "selector": "source.python" }
如果你使用的是 Python 3 且命令为 python3,则改为:
{ "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File "(...*?)", line ([0-9]*)", "selector": "source.python" }
对于 C++ 编译运行:
{ "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"] , "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.cpp", "variants": [ { "name": "Run", "cmd": ["${file_path}/${file_base_name}"] } ] }
这样按 Ctrl+B 先编译,再选择 “Build With: Run” 即可运行生成的程序。
多构建任务与变体(Variants)
通过 variants 字段,可以在同一构建系统中定义多个相关任务。例如上面 C++ 示例中的 “Run”,就是编译后的运行任务。
其他常见用途包括:
- 带调试参数运行程序
- 执行测试脚本
- 清理编译产物(如删除 .o 或可执行文件)
调用方式:构建后点击菜单或使用快捷键选择不同 variant。
总结
Sublime Build System 是一个轻量但强大的工具,让代码编写与执行无缝衔接。通过简单的 JSON 配置,你能为任何语言或流程定制构建命令。合理使用 build system 可减少对外部终端的依赖,提高编码流畅度。
基本上就这些 —— 配置一次,长期受益。
linux python sublime js json windows 编码 工具 mac c++ win Python json 字符串 windows sublime text linux


