sublime Text 可通过自定义 Build System 实现 C/c++ 一键编译运行:用 g++/gcc 配合 -std=c++17、-Wall 等参数,支持错误定位跳转;需配置 file_regex 解析 GCC 错误格式,并确保系统 PATH 包含编译器路径。

配置 sublime text 的 C/C++ 编译系统
Sublime Text 本身不带编译功能,但可通过自定义 Build System 实现一键编译、运行,并在面板中清晰显示错误信息(包括行号、文件名和提示),效果接近轻量 ide。
创建适用于 GCC 的构建系统(windows / macOS / linux 通用)
关键是用 g++(C++)或 gcc(C)编译,加 -std=c++17、-Wall 等参数提升诊断能力,并通过 && ./a.out(Linux/macOS)或 && a.exe(windows)自动运行。错误输出会原样显示在 Sublime 的 Build Results 面板里,点击错误行可跳转。
操作步骤:
- 菜单栏选择 Tools → Build System → New Build System…
- 替换全部内容为以下 jsON(以 C++ 为例):
{ "shell_cmd": "g++ -std=c++17 -Wall "${file}" -o "${file_path}/${file_base_name}" && "${file_path}/${file_base_name}"", "file_regex": "^(..[^:]*):([0-9]+):([0-9]+):s+(Error|warning):s+(.*)$", "working_dir": "${file_path}", "selector": "source.c++, source.cpp", "variants": [ { "name": "Run Only", "shell_cmd": ""${file_path}/${file_base_name}"" }, { "name": "Compile Only", "shell_cmd": "g++ -std=c++17 -Wall "${file}" -o "${file_path}/${file_base_name}"" } ] }
保存为 C++.sublime-build(路径默认是用户 Packages 目录)。C 语言只需把 selector 改成 source.c, source.h,命令中 g++ 换成 gcc,并去掉 -std=c++17 即可。
立即学习“C++免费学习笔记(深入)”;
让错误可点击跳转(关键细节)
上面配置中的 file_regex 是核心——它告诉 Sublime 怎么解析编译器输出的错误格式。GCC 默认错误格式如:
main.cpp:5:10: error: ‘cout’ was not declared in this scope
对应正则 ^(..[^:]*):([0-9]+):([0-9]+):s+(error|warning):s+(.*)$ 能正确提取:
– 文件名(第1组)
– 行号(第2组)
– 列号(第3组)
– 类型与消息(第4、5组)
保存后,点击 Build Results 中的报错行,光标会自动跳到对应源码位置。
Windows 下需注意 MinGW 或 WSL 路径问题
如果提示 g++ not found,说明系统未识别编译器:
- 确认已安装 MinGW-w64(推荐 https://www.php.cn/link/bb78a710e7d0494db915c83459de0c42),且
g++.exe所在目录(如C:mingw64in)已加入系统PATH - 若用 WSL,Sublime 运行在 Windows,无法直接调用 WSL 的 g++;建议改用 vs code + Remote-WSL,或在 Sublime 中通过
bash -c "g++ ..."方式间接调用(需额外配置,稳定性略低)
验证方法:打开 CMD,输入 g++ --version 能正常输出即表示就绪。
基本上就这些。配置一次,后续所有 .cpp 文件按 Ctrl+B(Win/Linux)或 Cmd+B(macos)即可编译+运行,错误信息高亮可跳转,开发效率明显提升。