Windows 上安装和配置 VS Code:编写、运行与调试 C 程序
ResourcesWindows 上配置 VS Code 编写 C 程序
本指南适用于 Windows 11 的 x64 电脑,用于编译、运行和调试只有一个源文件的 C 程序。请依次完成安装、菜单设置、配置文件设置和调试练习。
1. 安装
1.1 VS Code 与 C/C++ 扩展
- 从 VS Code 官网 下载并安装 Windows 版本。
- 打开 VS Code,选择左侧“扩展”,搜索 C/C++,安装发布者为 Microsoft 的扩展。
1.2 GCC 编译器与 GDB 调试器
从 MSYS2 官网 下载安装程序,安装到
C:\msys64。打开开始菜单中的 MSYS2 UCRT64,执行:
pacman -Syu如果提示关闭终端,按提示关闭,然后重新打开 MSYS2 UCRT64,再执行一次该命令。
更新完成后执行:
pacman -S --needed mingw-w64-ucrt-x86_64-toolchain选择软件包时按 Enter,确认安装时输入
Y。在 Windows 开始菜单搜索“编辑账户的环境变量”,编辑用户变量
Path,新建一项:C:\msys64\ucrt64\bin保存后完全退出并重新打开 VS Code,选择“终端 → 新建终端”,分别执行:
gcc --version gdb --version两条命令都显示版本信息,说明终端可以找到 GCC 和 GDB。如果提示找不到命令,请检查工具是否已安装,以及
Path中的路径是否正确。
2. 通过菜单设置运行和调试
2.1 打开练习文件夹
创建一个练习文件夹,例如 C:\c-course\first-program。在 VS Code 中选择“文件 → 打开文件夹”,打开该文件夹。新建 hello.c,输入以下代码并保存:
#include <stdio.h>
int main(void)
{
int a = 2;
int b = 3;
int sum = a + b;
printf("sum = %d\n", sum);
return 0;
}
2.2 首次选择编译器
- 在编辑器中打开
hello.c。 - 选择顶部菜单“运行 → 启动调试(Start Debugging)”。
- 如果出现调试器列表,选择 C++ (GDB/LLDB)。
- 在编译器列表中选择 C/C++: gcc.exe build and debug active file,确认路径为
C:\msys64\ucrt64\bin\gcc.exe。 - 编译成功后,终端显示
sum = 5。此时没有设置断点,程序会直接执行完毕。
C/C++ 扩展会创建 .vscode/tasks.json。接下来按第 3 节设置两个配置文件,指定编译器和调试器的路径。如果列表中没有 GCC,也可以直接按第 3 节创建配置文件。
2.3 运行程序
每次运行前,先打开要运行的 .c 文件并保存,再选择以下菜单:
| 目的 | 顶部菜单 | 快捷键 |
|---|---|---|
| 直接运行,查看结果 | 运行 → 以非调试模式运行(Run Without Debugging) | Ctrl+F5 |
| 调试,在断点处暂停 | 运行 → 启动调试(Start Debugging) | F5 |
完成第 3 节的设置后,运行和调试都使用 C/C++: gcc.exe build and debug active file 配置。VS Code 会先编译当前打开的文件,再启动程序。在窗口下方的“终端”中查看输出;程序需要输入时,也在这里输入。
3. 设置两个配置文件
在练习文件夹中创建 .vscode 文件夹,并在其中创建下面两个文件。如果文件已存在,将其内容替换为下面的配置。
3.1 tasks.json:编译设置
文件位置:.vscode/tasks.json。
{
"version": "2.0.0",
"tasks": [
{
"label": "C/C++: gcc.exe build active file",
"type": "process",
"command": "C:\\msys64\\ucrt64\\bin\\gcc.exe",
"args": [
"-std=c11",
"-Wall",
"-Wextra",
"-g",
"-O0",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
3.2 launch.json:运行和调试设置
文件位置:.vscode/launch.json。
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: gcc.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"cwd": "${fileDirname}",
"stopAtEntry": false,
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",
"preLaunchTask": "C/C++: gcc.exe build active file"
}
]
}
保存两个配置文件,然后在编辑器中打开 hello.c。运行或调试时,如果出现配置列表,选择 C/C++: gcc.exe build and debug active file。
设置时注意以下三点:
- 如果 MSYS2 安装在其他位置,请修改
command和miDebuggerPath中的路径。 preLaunchTask必须与编译任务的label完全一致。- 运行前,确认编辑器中当前打开的是要运行的
.c文件。如果编译失败,先修复错误,再启动程序。
4. 调试例子:观察两个数相加
使用前面的 hello.c,观察加法执行前后的变量值。
- 在
int sum = a + b;这一行的行号左侧单击,设置断点。左侧会出现红点,程序运行到这一行时会暂停。 - 选择“运行 → 启动调试”(F5)。程序在断点处暂停,高亮显示的语句还没有执行,因此加法尚未执行。
- 在左侧“运行和调试”的“变量(Variables)”区域查看变量,此时应看到
a = 2、b = 3。sum还没有初始值,此时不要使用它的值。 - 按 F10(单步跳过),执行加法。程序会停在
printf行,变量区域应显示sum = 5。 - 再按一次 F10,终端显示
sum = 5。 - 按 F5(继续),程序继续运行直到结束。
将 int b = 3; 改为 int b = 4;,保存后再调试一次。执行加法后,变量区域应显示 sum = 6,终端也应输出 sum = 6。
参考:VS Code 官方 MinGW 配置教程 、调试配置说明 。