在VS Code中配置C/C++开发与调试环境
发布时间 - 2025-12-02 00:00:00 点击率:次首先安装MinGW-w64并配置环境变量,验证gcc和gdb版本;接着在VS Code中安装C/C++扩展,创建项目文件夹并编写C代码;然后通过命令生成c_cpp_properties.json、tasks.json和launch.json配置文件,分别用于智能提示、编译构建和调试运行;最后使用Ctrl+Shift+P运行构建任务,按F5启动调试,实现代码的编译、运行与断点调试。
在 VS Code 中配置 C/C++ 开发与调试环境并不复杂,只要正确安装工具链并设置相关配置文件即可。以下是以 Windows 系统为例,使用 MinGW-w64 编译器的完整配置流程。
1. 安装必要组件
要运行和调试 C/C++ 程序,你需要安装编译器、调试器以及 VS Code 的对应扩展。
• 安装 MinGW-w64
下载并安装 MinGW-w64(推荐使用 https://www./link/bb78a710e7d0494db915c83459de0c42 提供的版本或通过 MSYS2 安装)。安装后将 bin 目录(如 C:\mingw64\bin)添加到系统环境变量 PATH 中。
• 验证安装
打开命令提示符,输入:
gcc --version gdb --version若显示版本信息,说明安装成功。
• 安装 VS Code 扩展
在 VS Code 中安装以下扩展:
- C/C++(由 Microsoft 提供)
- Code Runner(可选,用于快速运行代码)
2. 创建项目并编写代码
新建一个项目文件夹,例如 hello_c,在其中创建一个 main.c 文件:
#includeint main() { printf("Hello, VS Code!\n"); return 0; }
3. 配置编译与调试文件
VS Code 使用 JSON 文件来定义构建和调试任务。需创建三个关键文件:tasks.json、launch.json 和 c_cpp_properties.json。
• 生成 c_cpp_properties.json
按下 Ctrl+Shift+P,输入 “C/C++: Edit Configurations (UI)”,选择进入配置页面。设置:
-
Compiler path: 例如
C:\mingw64\bin\gcc.exe -
IntelliSense mode: 根据系统选择
gcc-x64
保存后会自动生成 .vscode/c_cpp_properties.json,用于智能提示和头文件解析。
• 配置 tasks.json(构建任务)
按下 Ctrl+Shift+P,输入 “Tasks: Configure Task”,选择 “Create tasks.json file from template”,然后选择 “Others”。修改内容如下:
{
"version": "2.0",
"tasks": [
{
"type": "shell",
"label": "build with gcc",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always"
},
"problemMatcher": ["$gcc"]
}
]
}
该任务会在当前目录生成带调试信息的可执行文件。
• 配置 launch.json(调试设置)
点击“运行”侧边栏中的“创建 launch.json”,选择 “C++ (GDB/LLDB)”,模板选择 “Launch”。修改为:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug with GCC",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build with gcc",
"logging": {
"engineLogging": false
}
}
]
}
注意修改 miDebuggerPath 指向你的 gdb.exe 路径。
4. 编译与调试
一切就绪后,可以开始开发。
• 编译代码
按下 Ctrl+Shift+P,运行 “Tasks: Run Build Task”,或直接按 Ctrl+F5 触发预设的 build 任务。
• 启动调试
在代码中设置断点,点击“运行”菜单中的“启动调试”或按 F5,程序将在控制台运行并支持变量查看、单步执行等操作。
基本上就这些。配置一次后,后续项目只需复制 .vscode 文件夹稍作修改即可复用。
# vscode
# js
# json
# windows
# 工具
# ai
# c++
# 环境变量
# win
# microsoft
# 配置文件
# https
# ui
# 按下
# 将在
# 只需
# 推荐使用
# 会在
# 可选
# 为例
# 后将
# 后会
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
javascript读取文本节点方法小结
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
太平洋网站制作公司,网络用语太平洋是什么意思?
如何在Windows环境下新建FTP站点并设置权限?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
php打包exe后无法访问网络共享_共享权限设置方法【教程】
中山网站制作网页,中山新生登记系统登记流程?
Laravel怎么调用外部API_Laravel Http Client客户端使用
佛山企业网站制作公司有哪些,沟通100网上服务官网?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Python面向对象测试方法_mock解析【教程】
如何用y主机助手快速搭建网站?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
网站制作壁纸教程视频,电脑壁纸网站?
简历没回改:利用AI润色让你的文字更专业
如何破解联通资金短缺导致的基站建设难题?
详解Android——蓝牙技术 带你实现终端间数据传输
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel如何为API生成Swagger或OpenAPI文档
Bootstrap整体框架之JavaScript插件架构
如何在IIS中新建站点并配置端口与IP地址?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
实例解析Array和String方法
大连 网站制作,大连天途有线官网?
如何快速查询域名建站关键信息?
移动端脚本框架Hammer.js
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何在橙子建站上传落地页?操作指南详解
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
如何快速生成橙子建站落地页链接?
微信小程序 canvas开发实例及注意事项
如何用虚拟主机快速搭建网站?详细步骤解析
b2c电商网站制作流程,b2c水平综合的电商平台?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
做企业网站制作流程,企业网站制作基本流程有哪些?
如何在万网自助建站中设置域名及备案?
如何挑选优质建站一级代理提升网站排名?
活动邀请函制作网站有哪些,活动邀请函文案?
bootstrap日历插件datetimepicker使用方法
Laravel如何为API编写文档_Laravel API文档生成与维护方法
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
利用JavaScript实现拖拽改变元素大小
如何在宝塔面板中修改默认建站目录?
网站制作企业,网站的banner和导航栏是指什么?


"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always"
},
"problemMatcher": ["$gcc"]
}
]
}