本文主要记录 Visual Studio Code 中配置 C/C++ 的开发环境,包括项目设置、编译选项和调试配置。VScode是编辑器,我们还需要安装编译器,才能实现编写程序到生成可执行文件这一流程。关于编辑器,编译器和IDE如果有些分不清,可以看这篇 编辑器,编译器和IDE的梳理
在VS Code中配置C++开发环境需要完成编译器安装、扩展配置和调试环境设置三个核心步骤。具体记录如下:
一、前置准备
-
安装VS Code
从VS Code官网下载对应系统版本(Windows/macOS/Linux),按向导完成安装即可。- 只要操作系统对应上,就没啥大问题。如果电脑是自己一直用一个账户(PIN登录解锁)用的,那么
User Installer
和System Installer
安装哪个没什么大的差别,用户版安装目录和配置都会生成在用户目录下,系统版则是在系统的目录下。 - 此外, 安装过程中出现下面这个界面,这里进行了红字标注做出了说明。全勾选基本没什么副作用,如果有主用的编辑器(比如Notepad++什么的),倒数第二个可以不用勾选,这个选项的作用就是对某些文件默认打开方式的意思,基本上也就是js,html这些文本文件。
- 只要操作系统对应上,就没啥大问题。如果电脑是自己一直用一个账户(PIN登录解锁)用的,那么
-
安装C++扩展
- 如果不习惯英文,可以在扩展里安装微软官方的中文包插件,重新打开VScode生效。
- 打开VS Code → 左侧导航栏点击「扩展」(或按
Ctrl+Shift+X
打开扩展商店)→ 搜索「C/C++」→ 安装微软官方的 [C/C++]。
可选装「C/C++ Extension Pack」(这个是包含调试、格式化等工具)。 - 选择图中带有
Microsoft
认证标识的就对了,官方的,也是最多人选的。 - C/C++的扩展仅仅是方便配置编译器目录以及相关的编译命令的,使用VScode编译运行指令下,能识别到系统上安装的编译器。


二、安装编译器(关键步骤)
VS Code本身不自带编译器,即便是安装C/C++扩展,也不会自动下载编译器,我们需根据系统安装对应的编译器和工具链。
基本上市面主流的编译器也就三种:GCC/G++,Clang/Clang++,以及MSVC。
如果之前安装过其他 IDE或者编译器,比如 Devcpp,codeblocks等,电脑已有的编译器实际上也可以使用,无需安装,但是即便安装了也不会让电脑爆炸,占空间也不是很大,所以也可以安装,后期不需要卸载即可。
更多捆绑文章可选择了解:C/C++的编译器
1. Windows系统(推荐MinGW-w64)
MinGW-w64 是 GCC/G++编译器,附带上 C/C++ 标准库(如 stdio.h、iostream 对应的实现)、链接器(ld)、调试工具(gdb)等,对Windows作出了适配。
换句话说,在windows系统上,想使用GCC/G++编译器,安装我就对了,除了编译功能,在windows运行需要的额外的工作,我都安排好了。
- 下载MinGW-w64
访问MinGW-w64官网,选择「Downloads」→ 推荐通过SourceForge镜像下载,选择适合的版本(如x86_64-posix-seh
,64位系统推荐)。 - 安装与配置系统环境变量
配置系统环境变量并非必选项,在VScode中会需要配置,这里配置了只是有利于电脑的程序“识别”,会比较方便用。-
安装时推荐选择「Add to PATH」(或手动添加),安装路径建议无空格(如
C:\mingw64
)。 -
如果安装是没有选择添加到 PATH,手动打开环境变量,在path下添加路径,见下文 补充:系统环境变量
-
验证:按
Win+R
输入cmd
,执行g++ --version
和gcc --version
,若显示版本信息则安装成功。
-
如果在windows想既使用GCC/G++,又想试试Clang/Clang++的,可以参考<留个眼,以后补充>。
至于MSVC,下载安装Visual Studio(紫色图标,另一个软件)一般默认自带的。
2. macOS系统(使用Clang)
- 打开终端,执行命令安装Xcode命令行工具:
xcode-select --install
- 验证:终端输入
clang --version
,显示版本信息即成功。
3. Linux系统(使用GCC)
- 终端执行以下命令安装GCC工具链(以Ubuntu为例):
sudo apt update sudo apt install build-essential gdb
- 验证:输入
gcc --version
和gdb --version
,显示版本信息即成功。
三、创建并配置项目
这一段主要流程是创建文件夹,文件夹里新建C文件,C++文件,写一段测试的代码。
代码写完了,需要配置VScode,让他能够找到编译器路径,使源代码能被编译生成可执行文件。
VScode的配置一般都是通过修改
json
文件实现的,当然也有界面里用鼠标点击选择之类的界面操作。前者只针对某个项目文件夹的配置,后者则是全局设置,相当于VScode打开文件夹都默认的配置。若某个项目有json
文件配置,则VScode优先使用json
的设置,否则使用全局配置。
这里介绍的是使用json
文件的配置,只适用于当前项目文件夹,下次打开其他项目文件夹,此json
配置不会凑效,但是可以考虑修改拷贝过去使用。配置文件的好处是到另一个电脑上,微改配置文件就能用了。
配置一般会涉及到两个文件task.json
和launch.json
。前者是k代码编译需要的配置,后者是调试需要的配置。
-
创建项目文件夹
新建一个空文件夹,名字无所谓(如cpp-demo
),用 VS Code打开(「文件」→「打开文件夹」)。虽然名字无所谓,但还是建议,以后编程时 养成使用英文命名项目中文件夹和文件名的好习惯。 -
创建测试代码
在文件夹中新建hello.c
文件,hello是文件名,c是文件后缀名,表明这是c类型的文件。
输入基础代码,先不管它什么意思:
#include <stdio.h> int main(){printf("Hello World");getchar();return 0; }
-
配置编译任务(tasks.json)
编译任务用于告诉 VS Code 如何调用 g++ 编译代码,用于定义编译命令:- 按
Ctrl+Shift+P
打开命令面板,输入「Tasks: Configure Default Build Task」→ 选择「C/C++: g++ 生成活动文件」(Windows)或「C/C++: clang++ 生成活动文件」(macOS/Linux)。
弹窗会有提示你的编译器路径,选择刚才安装的编译器路径即可(或者电脑已有的编译器路径),此处的选择会自动把下面的 “command” 填好。 - 上一步选择好之后,会自动生成
.vscode/tasks.json
,默认配置如下(可根据需要修改):
其中,"label"是自动生成的,编译时显示的任务名,可自行修改,后面配置launch
也会要用到。
"command"是必填项,配置编译器路径,上一步会自动生成,可自行检查路径是否正确。如果想换编译器,在这里改即可。
"args"最后一个参数是生成可执行文件exe
,一般为同名exe文件。可鼠标悬停查看具体释义。{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件", // 任务名称,调试配置在 launch.json文件,需匹配"command": "C:\\msys64\\ucrt64\\bin\\gcc.exe", // 编译器路径(Windows为mingw64的g++.exe路径,识别成功会自动写好,否则自己改"args": [ // 编译参数"-fdiagnostics-color=always","-g", // 生成调试信息"${file}", // 当前活动文件"-o", // 输出文件名"${fileDirname}\\${fileBasenameNoExtension}.exe" // 输出路径(与源文件同目录)],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true //默认编译器的意思},"detail": "编译器: C:\\msys64\\ucrt64\\bin\\gcc.exe"}] }
- 按
-
配置调试环境(launch.json)
调试配置用于告诉 VS Code 如何调用 gdb 进行调试,用于设置调试参数:- 点击左侧「运行和调试」(或按
Ctrl+Shift+D
)→ 点击「创建launch.json文件」→ 选择「C++ (GDB/LLDB)」→ 选择对应编译器(如g++
)。 - 自动生成
.vscode/launch.json
,关键配置如下:
其中,"program"就是之前生成的exe路径, 需要替换一致。
"preLaunchTask"一定要放在"miDebuggerPath"之前,意思是调试程序之前编译。与task.json
中的label
要一致,拷贝过来即可。
“miDebuggerPath” 设置的是调试器的路径,一般与编译器同文件夹,文件名为gdb.exe
。自行检查是否存在且路径正确。{"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe", //待调试的程序路径。是需要自己改的,换成task.json中的输出路径即可。"args": [],"stopAtEntry": false, // 是否在main函数处断点(暂停)"cwd": "${fileDirname}","environment": [],"externalConsole": false, // 是否使用外部控制台,这里在VScode终端,true则是用黑框"MIMode": "gdb","preLaunchTask": "C/C++: g++ 生成活动文件", // 必须项。调试前执行的任务(需与tasks.json的label一致)"miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe", // 调试器路径(Windows为mingw64的gdb.exe路径,一般与gcc.exe同目录)"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}] }
- 点击左侧「运行和调试」(或按
四、测试配置
-
编译运行
编译:
打开hello.cpp
,按Ctrl+Shift+B
执行编译任务,成功后,这里的配置会在同目录生成hello.exe
。
运行:
方法 1(仅运行):在 VS Code 终端中输入.\hello.exe
执行。
方法 2(调试运行):按下 F5 启动调试,可设置断点、单步执行等(调试控制台会显示输出)。 -
调试代码
在代码中设置断点(点击行号左侧会设置红点),按F5
启动调试,可使用「继续(F5)」「单步跳过(F10)」「单步调试(F11)」等功能。
运行结果为 Hello World
。
五、常见问题解决 FAQ
-
“找不到gcc/clang”
- 检查编译器是否安装,找到mingw的安装目录,看看是否有
gcc。exe
这个程序。 - VScode中的task配置文件路径是否对应上。
如果是使用全局设置,在设置中,找到C/C++扩展的环境(编译器)路径是否对应。
- 检查编译器是否安装,找到mingw的安装目录,看看是否有
-
中文乱码
在tasks.json
的args
中添加-fexec-charset=GBK
(Windows)或-fexec-charset=UTF-8
(跨平台)。 -
调试时无法命中断点:
确保 tasks.json 中包含 -g 选项(生成调试信息),且launch.json
的preLaunchTask
与编译任务的label
一致。 -
不是内部或外部的命令
在终端或者命令行,输入程序(exe)名未被识别到才会提示这段反馈。
设置过系统环境变量情形:在任意一个命令行中输入,都是会检测识别到的,检查环境变量是否设置正确,以及命令是否输错了。
没有配置环境变量情形:需要在终端/命令行,进入相对应的exe文件所在目录,再输入程序名。 -
右下角总是弹窗:
“‘cl’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”
“cl.exe” build and debug is only usable when VS Code is run from the Developer Command Prompt for VS. 的问题。这是因为你配置的编译器使用的是
cl.exe
,这是MSVC
编译器,你的电脑大概率安装了Visual Studio,并且没有添加到系统环境变量。
微软的cl.exe
(MSVC 编译器)依赖一系列特殊的环境变量(如编译器路径、库路径、头文件路径等),这些变量只有在 “VS 开发者命令提示符” 中才会被自动加载。
直接双击启动 VS Code 时,它继承的是系统默认环境变量,会缺少这些关键配置,因此无法正常使用cl.exe
进行编译和调试。
解决方案一: 从Deveioper Command Prompt for ***打开VScode。开始菜单找到类似图中的程序,或者直接使用win+s
搜这个名字,可能会因版本不同最后的名字不一样。启动之后,会发现这个程序就是一个黑框终端,在终端输入code
回车即可打开VScode(前提是VScode添加到PATH),现在打开的就不会报错。
解决方案二: 将编译器路径改成其他路径编译器,不使用MSVC编译器。
补充:系统环境变量
- 打开系统属性。快捷键
win+r
唤出运行,输入sysdm.cpl
,打开系统属性。全称大概是(system data manager . Control Panel extension) - 在高级中,找到环境变量。
- 在用户变量和系统变量中,各自有一个path。实际运行时,系统会先找到用户变量中的内容,找不到再去找系统变量中的path,所以这两者随便选一个添加即可。建议安装在用户下的程序添加用户变量,管理员权限的添加在系统变量下。
- 双击path,会跳出编辑的弹窗,新建即可添加程序的路径。
建议使用浏览寻找,找到exe所在目录即可。比如如果手动配置GCC编译器,找到gcc.exe
,一般就是bin目录。
也可以直接编辑,粘贴程序的目录。但是要注意不能拼错。
总结
核心步骤是:配置 MinGW 环境变量 → 安装 C/C++ 扩展 → 生成并修改 tasks.json(编译)和 launch.json(调试)。通过这种配置,VS Code 能直接调用 GCC 工具链,实现 C 代码的编译、运行和调试,此外,C++代码的配置与之类似,只不过编译器为g++.exe
。
参考:
我写的很乱,这个博主很详细:VS Code 配置 C/C++ 编程运行环境(保姆级教程)
https://blog.csdn.net/qq_43328313/article/details/138898223
https://blog.csdn.net/Natsuago/article/details/145507915