cmake tools 是 sublime text 中唯一可行的 cmake 支持方案,因其能联动 cmakelists.txt、缓存与 kit 元数据,实现 kit 切换、多配置构建、target 依赖分析及 find_package 路径控制;手写 .sublime-build 无法处理这些,仅适用于极简单文件场景。

Sublime Text 本身不支持 CMake,必须用 CMake Tools 插件
手写 .sublime-build 文件无法正确处理 CMake 项目——它既不能自动识别 CMakeLists.txt 结构,也无法切换 Kit、解析 find_package(Qt6 REQUIRED)、响应 add_subdirectory() 或生成 Ninja/MSVC/Makefile 多后端构建文件。你看到的 Unknown option --config、configure 卡在 “Confi”、target 列表为空,全是手写构建系统硬套 cmake -B build 导致的必然结果。
CMake Tools 是唯一能联动 CMakeLists.txt + 缓存 + Kit 元数据的方案,它把 CLI 黑盒操作变成状态栏进度、Kit 下拉菜单、target 选择和折叠日志。插件本身不装编译器或 CMake,只调度;它要求你在终端里能直接运行 cmake --version 和 g++ --version(或 clang++、cl.exe),否则 configure 必然失败。
CMake Tools 首次配置必须验证三件事
90% 的失败不是插件问题,而是环境没对齐:
- Windows:MinGW-w64 安装时必须勾选 “Add to PATH”,或手动把
C:\mingw64\bin加进系统环境变量,然后重启 Sublime - macOS:Homebrew 安装的 GCC 默认叫
g++-14(不是g++),运行ls /opt/homebrew/bin/g++*确认真实名称;且必须从终端执行open -a "Sublime Text"启动,否则读不到 shell 的PATH - Linux / WSL2:确保使用的是 Linux 版 Sublime(不是 Windows 版),且
which g++输出非空;WSL2 用户若用 Windows 版 Sublime,根本调不动 WSL 里的g++
别只信终端里 cmake --version 成功——GUI 启动的 Sublime 不继承 shell 的 PATH,尤其 macOS 和 Windows 上这是默认行为。
CMake 4.3.2 Windows x86_64 历史版本安装包,适合旧项目兼容、构建环境回退、CMakeLists.txt 迁移验证、Visual Studio/Ninja/Makefile 生成器测试和 C/C++ 项目维护。
Kit 配置不对,CMake Configure 就会卡死或报路径错误
CMake Tools 的 Kit 是核心元数据,不是可选项。它决定用哪个编译器、哪个 CMake、是否启用 Qt、是否走 Ninja 还是 MSVC generator。常见错误现象包括:
-
Could not find a package configuration file provided by "Qt6":Kit 没指定 Qt 安装路径,或CMAKE_PREFIX_PATH没被自动注入 -
Confi截断(无后续日志):Kit 中的编译器路径指向了不存在的cl.exe或g++-13,而你实际装的是g++-14 - Debug/Release 构建 target 切换失败:Kit 没启用 multi-configuration generator(如 Visual Studio 或 Xcode),却强行选了
--config Debug
解决方法:按 Ctrl+Shift+P → 输入 CMake: Select a Kit,从列表选一个已验证可用的 Kit;没有就点 Scan for Kits,插件会自动探测 g++ --version 能识别的工具链。不要手动编辑 cmake-kits.json,除非你清楚每个字段含义。
为什么 shell_cmd 写 cmake -B build 一定失败
因为 CMake Tools 不靠拼命令工作,它依赖项目根目录下的 CMakeLists.txt + build/CMakeCache.txt + Kit 元数据三者联动。你硬塞一个 shell_cmd:
- 不会触发 Kit 切换逻辑,所有
find_package路径都错 - 不会更新 target 下拉菜单,
CMake: Build Target始终为空 - 错误日志只有
command failed,看不出是缺qmake还是CMAKE_PREFIX_PATH指错了 - 无法支持
install规则、ctest集成、cpack打包等高级功能
真正该做的是:关掉所有自定义 .sublime-build,用 CMake: Configure → CMake: Build → CMake: Run Target 这套原生流程。复杂点在于 Kit 必须提前对齐,而不是命令怎么写。










