【原文链接】
目录
1. 引言
在当今的软件开发世界中,选择一个合适的开发环境和工具链对于提高生产力和代码质量至关重要。Visual Studio Code
(简称 VSCode
)和 CMake
是两个非常强大的工具,它们的结合可以为 C/C++
开发者提供一个高效、灵活且跨平台的开发环境。
1.1 VSCode 的优势
VSCode
是由 Microsoft
开发的一款轻量级但功能强大的代码编辑器。它支持多种编程语言,并且通过丰富的扩展生态系统,可以轻松地定制和增强其功能。以下是 VSCode
的一些主要优势:
- 轻量级:
VSCode
启动速度快,占用资源少,适合在各种硬件配置上运行。
- 跨平台:支持
Windows
、macOS
和 Linux
,开发者可以在不同的操作系统上使用相同的开发环境。
- 扩展性强:通过安装扩展,
VSCode
可以支持几乎所有的编程语言和开发框架。

1.2 CMake 的作用
CMake
是一个跨平台的构建工具,用于管理 C/C++
项目的构建过程。它通过生成标准的构建文件(如 Makefile
或 Ninja
文件)来简化项目的构建和配置。CMake
的主要优势包括:
- 跨平台:
CMake
可以在不同的操作系统上生成相应的构建文件,确保项目在不同平台上的可移植性。
- 管理复杂项目:
CMake
支持多目录、多目标项目,能够轻松管理大型项目。
- 集成第三方库:通过
find_package
或 FetchContent
,CMake
可以方便地集成第三方库。

1.3 目标读者
本文的目标读者包括:
- C/C++ 开发者:希望提高开发效率,简化项目构建过程的开发者。
- 初学者:刚刚接触
C/C++
开发,希望了解如何配置开发环境的新手。
- VSCode 用户:已经使用
VSCode
进行开发,但希望进一步集成 CMake
以提升开发体验的用户。
1.4 本文目标
本文的目标是帮助读者配置 VSCode
和 CMake
,搭建一个高效的 C/C++
开发环境。通过本文,读者将学习到:
- 如何安装和配置
VSCode
和 CMake
。
- 如何使用
VSCode
的扩展来增强 C/C++
开发体验。
- 如何创建和管理
CMake
项目。
- 如何调试
CMake
项目。
- 如何解决常见问题。
2. 环境准备
在开始配置 VSCode
和 CMake
之前,我们需要确保系统中已经安装了必要的工具和软件。以下是环境准备的详细步骤。
2.1 VSCode 安装
2.1.1 下载链接
VSCode
可以从其官方网站下载:VSCode 下载页面。
2.1.2 安装步骤
Windows:下载 .exe
安装包,双击运行并按照提示完成安装。


macOS:下载 .zip
文件,解压后将 Visual Studio Code.app
拖放到 Applications
文件夹中。
Linux:下载 .deb
或 .rpm
包,使用包管理器进行安装。例如,在 Ubuntu
上可以使用以下命令:
sudo apt install ./<file>.deb
2.1.3 推荐扩展
安装完成后,打开 VSCode
并安装以下推荐扩展:
- C/C++:提供
C/C++
代码的语法高亮、代码补全和调试支持。
- CMake Tools:提供
CMake
项目的生成、构建和调试功能。
可以通过 VSCode
的扩展市场搜索并安装这些扩展。
2.2 CMake 安装
2.2.1 下载 CMake
CMake
可以从其官方网站下载:CMake 下载页面。
2.2.2 安装步骤
Windows:下载 .msi
安装包,双击运行并按照提示完成安装。





macOS:下载 .dmg
文件,双击运行并将 CMake
拖放到 Applications
文件夹中。
Linux:下载 .sh
脚本,运行以下命令进行安装:
sudo sh cmake-<version>-Linux-x86_64.sh
2.2.3 验证安装
安装完成后,打开终端并运行以下命令验证 CMake
是否安装成功:
cmake --version
如果安装成功,终端将显示 CMake
的版本信息。

2.3 编译器安装
2.3.1 Windows
在 Windows
上,可以选择安装 MinGW
或 MSVC
作为 C/C++
编译器。
2.3.2 Linux
在 Linux
上,通常使用 GCC
或 Clang
作为 C/C++
编译器。
2.3.3 macOS
在 macOS
上,可以通过安装 Xcode Command Line Tools
来获取 Clang
编译器。
xcode-select --install
2.3.4 验证 GCC 安装
安装完成后,可以通过以下命令验证 GCC 是否安装成功:
gcc --version
如果安装成功,终端将显示 GCC 的版本信息。
Windows
Linux
& macOS

3. VSCode 基础配置
在安装完 VSCode
和 CMake
后,我们需要对 VSCode
进行一些基础配置,以便更好地支持 C/C++
开发。
3.1 C/C++ 扩展
3.1.1 功能
C/C++
扩展为 VSCode
提供了以下功能:
- 代码补全:自动补全
C/C++
代码中的变量、函数和类名。
- 语法高亮:高亮显示
C/C++
代码中的关键字、注释和字符串。
- 调试支持:支持
GDB
和 LLDB
调试器,方便进行代码调试。
3.1.2 安装方法
打开 VSCode
,点击左侧的扩展图标(或按 Ctrl+Shift+X
),在搜索框中输入 C/C++
,找到 C/C++
扩展并点击安装。

3.2 c_cpp_properties.json
3.2 可有可无,读者可从 4 开始
3.2.1 生成方法
c_cpp_properties.json
文件用于配置 C/C++
项目的编译器路径、包含路径和 C++
标准等信息。可以通过以下步骤生成该文件:
- 打开
VSCode
,按 Ctrl+Shift+P
打开命令面板。
- 输入
C/C++: Edit Configurations
并选择该命令。
VSCode
将自动生成 c_cpp_properties.json
文件。
3.2.2 配置项
生成的 c_cpp_properties.json
文件包含以下配置项:
- compilerPath:指定编译器的路径。
- includePath:指定头文件的搜索路径。
- cppStandard:指定
C++
标准(如 c++17
)。
以下是一个示例 c_cpp_properties.json
文件:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include",
"/usr/local/include"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
3.3 settings.json
3.3.1 配置默认构建工具
settings.json
文件用于配置 VSCode
的全局设置。我们可以通过该文件配置默认的构建工具和编译器路径。
- 打开
VSCode
,按 Ctrl+Shift+P
打开命令面板。
- 输入
Preferences: Open Settings (JSON)
并选择该命令。
- 在打开的
settings.json
文件中添加以下配置:
{
"cmake.generator": "Ninja",
"cmake.buildDirectory": "${workspaceFolder}/build",
"C_Cpp.default.compilerPath": "/usr/bin/gcc"
}
3.3.2 示例配置
以下是一个完整的 settings.json
文件示例:
{
"editor.tabSize": 4,
"files.autoSave": "afterDelay",
"cmake.generator": "Ninja",
"cmake.buildDirectory": "${workspaceFolder}/build",
"C_Cpp.default.compilerPath": "/usr/bin/gcc"
}
4. CMake 集成
在完成 VSCode
的基础配置后,我们可以开始集成 CMake
,以便更好地管理 C/C++
项目。
4.1 CMake Tools 扩展
4.1.1 功能
CMake Tools
扩展为 VSCode
提供了以下功能:
- CMake 项目生成:自动生成
CMake
项目的构建文件。
- 构建与调试:支持构建和调试
CMake
项目。
- 多配置支持:支持
Debug
和 Release
等多种构建配置。
4.1.2 安装方法
打开 VSCode
,点击左侧的扩展图标(或按 Ctrl+Shift+X
),在搜索框中输入 CMake Tools
,找到 CMake Tools
扩展并点击安装。

4.2 创建 CMake 项目
4.2.1 使用 CMake Tools 创建新项目
打开 VSCode
,按 Ctrl+Shift+P
打开命令面板。
输入 CMake: Quick Start
并选择该命令。
按照提示输入项目名称和选择编译器。


CMake Tools
将自动生成一个基本的 CMake
项目结构。
4.2.2 项目结构
生成的 CMake
项目结构如下:
my_project/
├── CMakeLists.txt
├── src/
│ └── main.cpp
└── build/
- CMakeLists.txt:
CMake
项目的配置文件。
- src/main.cpp:项目的源代码文件。
- build/:构建目录,用于存放生成的构建文件和可执行文件。
main.cpp
源代码:
#include <iostream>
using namespace std;
int main(int argc, char const *argv[]) {
cout << "hello wrold" << endl;
return 0;
}
4.3 CMakeLists.txt
4.3.1 基本语法
CMakeLists.txt
是 CMake
项目的核心配置文件,用于定义项目的构建规则。以下是一个基本的 CMakeLists.txt
文件示例:
cmake_minimum_required(VERSION 3.10)
project(MyProject)
set(CMAKE_CXX_STANDARD 17)
add_executable(MyProject src/main.cpp)
- cmake_minimum_required:指定
CMake
的最低版本要求。
- project:定义项目名称。
- set(CMAKE_CXX_STANDARD 17):设置
C++
标准为 C++17
。
- add_executable:定义可执行文件的生成规则。
4.3.2 设置 C++ 标准
通过 set(CMAKE_CXX_STANDARD 17)
,我们可以指定项目使用的 C++
标准。CMake
支持多种 C++
标准,如 C++11
、C++14
、C++17
和 C++20
。
4.4 生成构建系统
4.4.1 选择构建工具
CMake
支持多种构建工具,如 Makefile
和 Ninja
。我们可以通过以下命令选择构建工具:
cmake -G "Unix Makefiles" <CMakeLists.txt 文件路径>
cmake -G "MinGW Makefiles" <CMakeLists.txt 文件路径>
4.4.2 生成命令
在项目根目录下创建一个 build
目录,并在其中运行 CMake
生成构建系统:
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
CMake
将根据 CMakeLists.txt
文件生成相应的构建文件。
4.5 构建与运行
4.5.1 构建命令
在 build
目录下运行以下命令构建项目:cmake --build <CMakeLists.txt 文件路径>
cmake --build .
4.5.2 运行可执行文件
构建完成后,可以在 build
目录下找到生成的可执行文件,并运行它:
./MyProject

5. 调试配置
5.1 调试功能
5.1.1 设置断点
在 VSCode
中,可以通过点击代码行号左侧的空白区域设置断点。设置断点后,程序运行到该行时将暂停执行。
5.1.2 单步调试
在调试过程中,可以在左上角的调试按钮进行单步调试:

Continue (继续):
点击后,程序会从当前断点继续执行,直到遇到下一个断点或程序结束。
Step Over (单步跳过):
执行当前行的代码,但如果当前行是一个函数调用,不会进入该函数内部,而是直接执行完该函数并跳到下一行。
Step Into (单步进入):
执行当前行的代码,如果当前行是一个函数调用,会进入该函数内部,逐行调试函数中的代码。
Step Out (单步跳出):
如果当前正在调试一个函数,点击后会直接执行完该函数的剩余部分,并返回到调用该函数的地方。
5.1.3 查看变量
在调试过程中,可以在 VSCode
的调试面板中查看当前作用域内的变量值。

5.2 调试 CMake 项目
5.3.1 结合 CMake Tools 调试
CMake Tools
扩展提供了与 VSCode
调试功能的深度集成。在 CMake
项目中,可以通过以下步骤进行调试:
- 打开
VSCode
,按 Ctrl+Shift+P
打开命令面板。
- 输入
CMake: Debug
并选择该命令。
CMake Tools
将自动启动调试会话。
6. 总结
通过本文,我们详细介绍了如何在 VSCode
中集成 CMake
,搭建一个高效的 C/C++
开发环境。VSCode
和 CMake
的结合为开发者提供了一个灵活、跨平台的开发工具链,能够显著提高开发效率和代码质量。
6.1 VSCode + CMake 的优势
- 高效:
VSCode
的轻量级和 CMake
的快速构建使得开发过程更加高效。
- 灵活:通过丰富的扩展和配置选项,开发者可以根据自己的需求定制开发环境。
- 跨平台:
VSCode
和 CMake
都支持多种操作系统,确保项目在不同平台上的可移植性。
6.2 鼓励读者尝试并优化配置
鼓励读者根据自己的项目需求,尝试并优化 VSCode
和 CMake
的配置。通过不断探索和实践,开发者可以找到最适合自己的开发环境配置。
6.3 学习资源
- 官方文档:
VSCode
和 CMake
的官方文档是学习的最佳资源。
- 社区论坛:参与
VSCode
和 CMake
的社区论坛,与其他开发者交流经验和解决问题。