在开发 C++ 多文件项目时,我们不需要每次都在终端里手动输入构建命令。只要在 VS Code 中安装好 CMake 扩展插件,就可以直接点击界面按钮或按下快捷键,一键配置、编译和运行整个项目。
检查本地 CMake 环境
VS Code 中的扩展插件本身只是一个图形化管理工具,它在底层仍然需要调用电脑里的编译器和 CMake 程序。因此在开始配置之前,我们需要先确保电脑上已经搭好了 C++ 开发环境,并安装好了 CMake。如果还没有安装 CMake,可以先打开 CMake 官方下载页面下载安装包,并在安装向导中勾选添加到系统环境变量。
如果刚刚新安装了 CMake,记得先把已打开的 VS Code 关闭再重新打开,让新的环境变量生效。随后我们打开命令提示符或 VS Code 下方的终端窗口,输入 cmake --version 并按下 Enter 键,能够正常输出类似下面的版本号就说明本地 CMake 环境已经生效了:
cmake version 4.4.3终端验证效果如下图所示。

安装 CMake Tools 插件
确认本地 CMake 可用后,我们打开 VS Code,准备安装以下 2 个与 CMake 相关的扩展插件:
- CMake:提供
CMakeLists.txt配置文件的语法高亮与指令自动补全功能。 - CMake Tools:由 Microsoft 官方推出的集成工具,支持在 VS Code 内一键配置、编译、调试和运行 CMake 项目。
点击 VS Code 左侧活动栏的【扩展】图标(或按下快捷键 Ctrl + Shift + X),在顶部搜索框中输入 “CMake Tools”。找到由 Microsoft 官方发布的插件后,点击【Install】(汉化后显示为【安装】)按钮即可,如下图所示。

提示 在安装【CMake Tools】插件时,VS Code 通常会自动把配套的【CMake】语法高亮插件一起装好。如果安装完成后窗口底部状态栏没有任何变化,我们把 VS Code 关闭再重新打开一次即可。
打开并配置 CMake 项目
在上一节 “CMake 入门” 中,我们已经为 multi_file_demo 项目编写好了 CMakeLists.txt 配置文件。这里我们继续沿用这个项目文件夹来演示,完整目录结构如下:
multi_file_demo/
├── CMakeLists.txt
├── math_utils.h
├── math_utils.cpp
└── main.cpp1. 打开项目文件夹
在 VS Code 左上角依次点击【文件】→【打开文件夹】,直接选中包含 CMakeLists.txt 的 multi_file_demo 文件夹并打开。
小伙伴们要注意,这里一定要直接打开 CMakeLists.txt 所在的这一层文件夹,不要打开它的上一级目录。只有当前打开的根目录下存在 CMakeLists.txt,插件才能自动识别出这是一个 CMake 项目。
2. 选择编译器工具包
首次打开 CMake 项目时,VS Code 顶部通常会弹出下拉列表,提示我们选择编译器工具包(Kit)。如果没有自动弹出,我们可以按下快捷键(Ctrl + Shift + P)打开命令面板,输入并点击【CMake: Select a Kit】,如下图所示。

接着在弹出的编译器列表中,选中之前配置好的 MinGW-w64 GCC 编译器(带有 “ucrt64” 字样),如下图所示。如果列表中暂时没有显示本地的编译器,可以先点击列表中的【Scan for kits】自动扫描一遍。

选好编译器之后,插件会自动在后台配置项目,作用相当于运行了 cmake -B build 命令。此时项目左侧会自动生成一个 build 文件夹(如下图所示),下方【输出】面板也会提示 “Configuring done” 和 “Generating done”。

一键编译与运行程序
当项目配置完成后,观察 VS Code 窗口最底部的状态栏,我们可以看到【Build】按钮或一个三角形的【运行】按钮。

在日常编写和修改代码时,我们只需要掌握以下 2 个常用操作:
- 一键编译(Build):点击底部状态栏的【Build】按钮或按下快捷键 F7,插件就会自动调用编译器,将
main.cpp和math_utils.cpp编译链接成可执行程序。 - 一键运行(Run):点击底部状态栏【Build】右侧的三角形【运行】按钮或按下快捷键 Shift + F5,插件会先检查代码是否有改动。如果有改动会自动重新编译,随后直接在下方终端窗口中运行程序。
如果我们安装的是较新版本的【CMake Tools】插件,底部状态栏可能会默认隐藏部分按钮。此时我们除了直接使用快捷键 F7 和 Shift + F5,也可以点击左侧活动栏新增的【CMake】图标,在打开的项目面板中点击编译与运行按钮。
现在,我们点击底部状态栏的三角形【运行】按钮或按下快捷键 Shift + F5 启动程序,终端窗口中的运行结果如下。
30 + 12 = 42
30 - 12 = 18常见问题
1. 往项目里新建了 .cpp 源文件后,为什么点击【Build】还是报 undefined reference 错误?
在 CMake 项目中,仅仅在左侧资源管理器里新建 .cpp 文件是不够的。新建源文件后,我们还需要打开 CMakeLists.txt,把新文件的名字补进 add_executable() 的圆括号里,并按下快捷键(Ctrl + S)保存文件。
每次保存 CMakeLists.txt 时,插件都会自动更新构建配置,此时再点击【Build】按钮就会把新文件一起编译进去了。
2. 窗口右上角的三角形运行按钮和底部状态栏的运行按钮有什么区别?
这是很多初学的小伙伴最容易按错的地方。VS Code 右上角的运行按钮来自 C/C++ 扩展或 Code Runner 插件,它默认只会单独编译当前打开的那一个 .cpp 文件。在编写多文件程序时,点击右上角的按钮就会因为漏掉其他源文件而引发链接报错。
因此在开发 CMake 项目时,小伙伴们记得使用底部状态栏的三角形【运行】按钮,或者直接按下快捷键 Shift + F5。
