在 Sublime Text 中可通过自定义 Build System Variant 实现“编译”和“运行”等多模式切换,提升开发效率。首先在 Tools → Build System → New Build System… 中创建 JSON 配置文件,定义主命令 shell_cmd 用于编译,如 g++ "$file" -o "$file_base_name",并设置 working_dir 和 selector 确保路径正确及语法匹配。接着在 variants 数组中添加多个变体,例如名为 "Run" 的 variant 执行 "$file_base_name",或 "Compile & Run" 执行编译后立即运行的组合命令。保存为 C++ Custom.sublime-build 至 Packages/User/ 目录。使用时选择该构建系统,Ctrl + B 执行默认编译,Ctrl + Shift + B 选择 variant 运行。还可通过 Command Palette 输入 “Build With” 快速调用。建议添加 "encoding": "utf-8" 避免中文乱码,支持跨平台配置时可用 cmd 替代 shell_cmd,并分设 osx、windows、linux 命令。配置一次即可灵活切换不同执行流程。

在 Sublime Text 中,创建自定义的 Build System Variant 可以让你为同一个构建系统设置多个运行选项,比如“编译”和“编译并运行”。这样可以在不重复配置的情况下灵活切换不同的执行方式。
理解 Build System 和 Variant
Sublime 的 Build System(构建系统)通过 .sublime-build 文件定义命令行操作。一个构建系统可以包含多个 variant,每个 variant 是该构建系统的不同运行模式。
例如,你可以有一个主构建系统用于“编译”,再添加一个 variant 用于“运行”程序。
创建带 Variant 的自定义 Build System
步骤如下:1. 打开菜单创建新 Build System
点击顶部菜单:
Tools → Build System → New Build System…
会打开一个 JSON 模板文件。
2. 编辑内容,加入 main 和 variant
示例:为 C++ 创建“编译”主任务和“运行”变体:
说明:
- shell_cmd:默认执行的命令(如编译)
- variants:定义额外的运行方式
- name:出现在菜单中的 variant 名称
- working_dir:设置工作目录,确保可执行文件能被找到
- selector:指定适用的语言语法
3. 保存文件
将文件保存为:
C++ Custom.sublime-build
位置通常是:
Packages/User/C++ Custom.sublime-build
使用 Build System 和 Variant
保存后,在 Sublime 中:
- 选择:Tools → Build System → C++ Custom
- 执行默认构建(编译):Ctrl + B
- 选择 variant 运行:Ctrl + Shift + B,然后从列表中选 “Run” 或 “Compile & Run”
你也可以在 Command Palette(Ctrl+Shift+P)中输入 “Build With” 快速选择 variant。
其他实用技巧
- 支持多平台判断,用 cmd 替代 shell_cmd 并配合 osx、windows、linux 字段
- 可用变量如:
$file、$file_name、$file_base_name、$file_path - 加 "encoding": "utf-8" 防止中文输出乱码










