尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
在 VSCode 上如何修改 json 配置文件,从而构建调试 C/C++ 项目
本文介绍如何通过更改配置文件从而在 VSCode 上构建调试 C/C 项目。能够解决的一些问题头文件未包含而导致的未定义头文件未能被识别而显示的提示错误等问题。一、基本设置vscode 上调试构建 c/cpp 项目都是基于这个拓展包首先在拓展中搜索下载。ctrl shift p 搜索C/C: Edit Configurations选择 UI 界面这里可以修改基本配置比如编译器位置智能提示相关设置包含路径等等。也可以选择C/C: Edit Configurations (JSON)修改。特别要注意的是智能提示的 c/c 标准如果用到的新特性提示报错可以在这里修改。c/cpp 构建调试 主要 是通过以下的几个文件配置一般位于.vscode/文件夹中。可选中ctrl shift p 搜索C/C:Add Debug Configuration生成一个简单的基本框架后续再修改关键项。二、配置文件文件名主要功能c_cpp_properties.json配置C/C编译环境提供智能提示IntelliSense所需的头文件路径、编译器信息等。launch.json配置调试器参数如程序入口、断点设置、环境变量等用于启动调试会话。settings.json定制项目级的编辑器行为如缩进、文件编码覆盖全局设置。tasks.json定义自动化任务如编译、测试将复杂命令封装为可执行的任务。编译调试用户操作命令类型tasks.json 定义构建命令launch.json 指定调试程序c_cpp_properties.json 提供编译环境信息编辑代码c_cpp_properties.json 提供智能提示保存文件settings.json 应用格式化规则由于可设置项太多这里用 * 数字 (如 ** 1.) 标注了需要着重注意的部分修改这些就能完成大多数简单项目的配置。*1. tasks.json自动化任务作用控制项目的构建替代了手动输入命令。快捷键CtrlShiftB。修改点“-I”, “${workspaceFolder}”, -I包含的头文件的目录.h-l链接的目录如有需要链接第三方的库需要在这里链接-o 输出可执行文件名{tasks:[{type:cppbuild,label:C/C: g build active file,command:/usr/bin/g,args:[-fdiagnostics-coloralways,-g,*.cpp,*.cc,-I,${workspaceFolder},// **1. -I包含的头文件的目录.h-I,${workspaceFolder}/include,// {workspaceFolder}为当前工作目录一般为项目根目录-stdc20,// 编译标准可指定//-labsl,-lprotobuf,// **2. -l链接的目录如有需要链接第三方的库需要在这里链接-lpthread,-lssl,-lcrypto,-o,${workspaceFolder}/test// **3. -o 输出可执行文件名],options:{cwd:${fileDirname}},problemMatcher:[$gcc],group:{kind:build,isDefault:true},detail:Task generated by Debugger.}],version:2.0.0}2.launch.json调试配置作用控制项目的启动调试快捷键F5一般启动前要执行任务preLaunchTask这一项 都默认设置为 上面提到的tasks.json中的label一般名为C/C: g build active file故启动调试前都会先通过tasks.json构建项目。修改点“program”, 调试的目标可执行文件“args”传递参数{configurations:[{name:C/C: g build and debug active file,type:cppdbg,request:launch,program:${workspaceFolder}/test,// **1.调试的目标可执行文件args:[],// **2.传递参数如果有则是 [arg1, arg2] 形式stopAtEntry:false,cwd:${fileDirname},// 程序运行时的工作目录// ${fileDirname} 为当前文件所在目录 区别于工作目录一般是${fileDirname}/.vscode/environment:[],// 环境变量配置externalConsole:false,MIMode:gdb,setupCommands:[{description:Enable pretty-printing for gdb,text:-enable-pretty-printing,ignoreFailures:true},{description:Set Disassembly Flavor to Intel,text:-gdb-set disassembly-flavor intel,ignoreFailures:true}],preLaunchTask:C/C: g build active file,miDebuggerPath:/usr/bin/gdb// gdb 可执行文件路径}],version:2.0.0}3.c_cpp_properties.jsonC/C 环境配置作用这个文件是为了为了让 VSCode 理解项目结构提供准确的错误检查和代码补全。有时候项目会用到第三方库VSCode 有时会找不到头文件包含的 include 目录会报未定义的错误。这时候只需更改这个文件即可修改点includePath智能提示的头文件包含路径{configurations:[{name:Linux,includePath:[${workspaceFolder}/**,// **1. 头文件包含路径/** 有递归的效果这里就设置成当前工作目录下包括子目录/usr/local/include/google/protobuf/// 可以指定所用库更具体的位置// /usr/include/**, // Linux 常用位置// /usr/local/include/**, // Linux 常用位置],defines:[],compilerPath:/usr/bin/gcc,cStandard:c23,cppStandard:gnu23,intelliSenseMode:linux-gcc-x64}],version:4}4.settings.json项目设置作用确保项目使用统一的代码风格一般自动生成不用修改。{editor.tabSize:2,// 缩进空格数files.encoding:utf8,// 文件编码editor.formatOnSave:true,// 保存时自动格式化files.associations:{// 文件关联用于告诉编辑器如何识别特殊文件类型// C 标准库头文件关联,自动生成cctype:cpp,clocale:cpp,cmath:cpp,// ...// 自定义文件扩展名关联*.hpp:cpp,*.cc:cpp,*.inc:cpp}}配置好这些文件就可以按 F5 构建调试你的项目了。通过以上配置你可以在 VSCode 中高效地构建和调试 C/C 项目解决标识符未定义、头文件找不到、智能提示错误等常见问题。
RELATED

相关推荐

Flet v0.24.0 版本发布详解:新控件、破坏性变更与迁移指南

Flet v0.24.0 版本发布详解:新控件、破坏性变更与迁移指南

Flet v0.24.0 版本发布详解:新控件、破坏性变更与迁移指南 【免费下载链接】flet Build realtime web, mobile and desktop apps in Python only. No frontend experience required. 项目地址: https://gitcode.com/gh_mirrors/fl/flet Flet 0.24.0 是一次功…

📅 2026/9/21 23:19:17
5个APM飞控避坑指南:解决配置卡半天的最佳实践

5个APM飞控避坑指南:解决配置卡半天的最佳实践

5个APM飞控避坑指南:解决配置卡半天的最佳实践 配环境配了三天,报错日志翻了几十页,APM飞控的部署依然卡在初始化阶段。这种“配置环境就卡半天”的折磨,是无数无人机开发者噩梦的开始。其实,问题往往不出在代码逻辑,而藏在那些被忽略的依赖关系…

📅 2026/9/21 23:19:17
Sanic Extensions 后台日志记录器(Background Logger)实战指南:配置、原理与性能优化

Sanic Extensions 后台日志记录器(Background Logger)实战指南:配置、原理与性能优化

Sanic Extensions 后台日志记录器(Background Logger)实战指南:配置、原理与性能优化 【免费下载链接】sanic Accelerate your web app development | Build fast. Run fast. 项目地址: https://gitcode.com/gh_mirrors/sa/sanic San…

📅 2026/9/21 23:19:17
MORE NEWS

更多资讯

📰

食品分类数据乱?3种主流方案最佳实践对比,别再硬抄报错代码了

食品分类数据乱?3种主流方案最佳实践对比,别再硬抄报错代码了 刚接手一个食品电商后台,复制了一堆网上的 if-else 分类代码,结果上线直接崩了。 看着满屏的 IndexError 和 AttributeError…

📰

上海市公积金提取源码解析:3步搞定性能瓶颈

上海市公积金提取源码解析:3步搞定性能瓶颈 刚拿到“上海市公积金提取”相关的业务代码,一运行就报错?别慌,这坑我踩过。很多从 CSDN…

📰

图解原理:Idea快捷键设置避坑,告别配置卡半天

图解原理:Idea快捷键设置避坑,告别配置卡半天 刚接手新项目,IntelliJ IDEA 默认快捷键按不顺手,想改改设置结果越改越乱?配置环境就卡半天,半天时间全耗在找“查找替换”在哪上了。 很多老鸟习惯 VS Code 或…

📰

雷霆战机论坛性能优化实战:5个高频面试题背后的真相

雷霆战机论坛性能优化实战:5个高频面试题背后的真相 看了一堆教程还是不会写项目?这是大多数开发者的通病。你背住了 高频面试题…

📰

Win7桌面图标卡顿救星:3个完整示例榨干系统性能

Win7桌面图标卡顿救星:3个完整示例榨干系统性能 微软官方文档关于Win7资源管理器(Explorer.exe)的机制描述,往往长达数百页,读完后你依然不知道桌面图标为何在低配机上卡成PPT。别被那些晦涩术语吓退,今天直接上干货。…

📰

5个音频库实测:音响设计实战项目完整示例选型指南

5个音频库实测:音响设计实战项目完整示例选型指南 看了一堆教程还是不会写项目?别怪自己笨,是工具选错了。很多开发者在启动音响设计或音频处理相关项目时,往往陷入“库选错,代码废”的困境。今天这篇不聊虚的,直接给你一份 完整示例…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬