在 VSCode 上如何修改 json 配置文件,从而构建调试 C/C++ 项目

VScode配置C++环境 配置完成后,此时在侧边栏可以发现多了一个.vscode文件夹,并且里面有一个c_cpp_properties.json文件,内容如下,说明上述配置成功。接下来配置编译器路径,按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置。以下的UI配置,可以直接在。下载号MinGW后按照安装方式中的所示,配置环境变量。完成配置后,在window的cmd中输入。⚠️ 需要修改的是自己的g++安装路径。,并写入以下内容进行配置。 阅读详情
AI摘要

本文详解VSCode中四个核心JSON配置文件的修改方法:tasks.json用于构建任务,launch.json控制调试启动,c_cpp_properties.json配置头文件路径与语言标准以支持智能提示和错误检查,settings.json管理项目级代码风格。通过正确设置编译器路径、包含目录(-I)、链接库(-l)、可执行输出及program路径等关键字段,可解决头文件未识别、标识符未定义、智能提示异常等常见问题。

本文介绍如何通过更改配置文件,从而在 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(自动化任务)
  • 作用:控制项目的构建,替代了手动输入命令。
  • 快捷键 Ctrl+Shift+B 。
  • 修改点:
      1. “-I”, “${workspaceFolder}”, -I包含的头文件的目录(.h)
      2. -l链接的目录,如有需要链接第三方的库,需要在这里链接
      3. -o 输出可执行文件名
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "*.cpp",
                "*.cc",
                "-I", "${workspaceFolder}",			// **1. -I包含的头文件的目录(.h)
               	"-I", "${workspaceFolder}/include",	// {workspaceFolder}为当前工作目录,一般为项目根目录
                "-std=c++20", // 编译标准,可指定
                //"-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 构建项目。
  • 修改点:
      1. “program”, 调试的目标可执行文件
      2. “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.json(C/C++ 环境配置)
  • 作用:这个文件是为了为了让 VSCode 理解项目结构,提供准确的错误检查和代码补全。
  • 有时候项目会用到第三方库,VSCode 有时会找不到头文件包含的 include 目录,会报未定义的错误。这时候只需更改这个文件即可
  • 修改点:
      1. "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": "gnu++23",
            "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++ 项目,解决标识符未定义、头文件找不到、智能提示错误等常见问题。

tasks.json、launch.json、c_cpp_properties.json配置 【代码】tasks.json、launch.json、c_cpp_properties.json配置。 阅读详情

相关推荐

VSCode 中C/C++.json文件的配置

VSCode 中C/C++环境配置 看了一些大佬的vscode c/c++环境配置攻略,结合自己的理解,在这里我将我的.json配置分享给大家,供大家参考,希望能在您学习路上带来一些帮助。我用的编译器是WinGW。 话不多说,开始各个文件的配置及代码(直接复制即可,部分地址需要修改,已在备注内标出)。.json文件没有按先后顺序排序,请根据对应的文件修改。 首先是c_cpp_properties....

zd398900463的博客 1万+

最新VS code配置C/C++环境(tasks.json, launch.json,c_cpp_properties.json)及运行多个文件、配置Cmake

文中主要讲述vs code配置c/c++环境,配置tasks.json、launch.json、c_cpp_properties.json文件,引入第三方库、指定头文件路径的配置,VS code中Cmake的环境配置,vs code通过CMake构建工程(项目)环境运行C/C++。

Python基础详解教程,让编程变得简单! 4万+

VSCode配置指南:高效编译调试复杂C/C++项目

在C/C++开发中,集成开发环境(IDE)的选择直接影响项目构建与调试的效率。传统重型IDE虽然功能全面,但在处理结构复杂、依赖众多的遗留项目时,常因索引缓慢、配置僵化而影响开发体验。其核心原理在于将编译、调试等核心功能与编辑器深度耦合,导致灵活性不足。相比之下,轻量级编辑器配合模块化插件,通过解耦前端界面与后端工具链,实现了更高的定制性。这种模式的技术价值在于,开发者可以完全复用项目原有的构建系统(如GNU Make),同时获得现代化的代码智能感知和可视化调试界面,尤其适合嵌入式Linux、交叉编译等非标

weixin_34176694的博客 1272

关于Vscode中C++的json配置文件解读

关于Vscode中C++的json配置文件解读,配置C、C++环境

qq_51802524的博客 5067

如何编写vscode的配置文件c_cpp_properties.json

等,可能也需要根据项目的特定需求进行调整。在 C 和 C++ 编程中,预处理器宏定义(Preprocessor Macro Definitions)是一种用于在编译阶段替换代码中的文本的编译指令。这个宏定义通常用于在调试(Debug)版本的程序中启用一些调试相关的功能,如记录日志、检查内存泄漏等。这样,插件就可以正确地解析和识别代码中使用宏定义的符号。字段,你可以让 C/C++ 插件知道这个宏定义的存在,从而正确地解析和识别这段代码。对于不同的 C/C++ 项目,你可能需要根据项目需求和开发环境在。

小秋 AI SLAM 入门实战教程 2930

VSCode配置C/C++教程(详细、有资源)

本文详细介绍了在Windows系统下使用VS Code配置C/C++开发环境的完整流程。 VS Code的下载与安装(推荐系统安装版)、必备插件安装(汉化和C/C++扩展包)、C/C++编译过程的四个阶段解析(预处理→编译→汇编→链接)。 文章通过一个包含多文件结构的示例工程,详细说明了三个核心配置文件的用途:c_cpp_properties.json(代码智能感知)、tasks.json(编译构建)和launch.json(调试运行)。MinGW-w64和MSVC两种工具链都有介绍

cctv1324的博客 7134

vscode配置json文件

s我吐了,参考大佬的文章错误百出,最后综合了一下: 两个文件即可 launch.json和tasks.json 直接用系统默认的再修改一下环境变量路径就可以了! json在.vscode下就可以对下面所有文件夹起作用!! 直接上两个json文件代码 launch.json { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?lin..

m0_52075409的博客 5099

【主力资金密码】副图指标升级版使用技术图文案例分解,通达信软件炒股指标公式代码

(1)主力资金线在低位时,对应的副图指标显示柱线是绿色,这个阶段主力资金参与小,行情处于下跌趋势或弱势震荡。当然,如果结合主图指标【翻倍密码系统】操作,主图的两个买卖点以及K线均线变色跟踪功能,更多的技术支撑,多空更加清晰,共振做多或多头更加确定和安全。如上图标记,中档虚线是参考安全操作的一个区间划分,粉色阶段做多或持股为主,为操作增加一道安全保护。如上图,副图指标【主力资金密码】更新叠加操作区间背景,绿色阶段持币或做空,粉色阶段做多或持股。如上图,副图指标,标记的两个区间,绿色区间时做空或持币。

weixin_69760830的博客 2546

Ubuntu:VS Code上C++的环境配置

工作区的.vscode文件夹下的均可以手动创建编译器构建配置文件;调试器设置配置文件;编译器路径和智能代码提示配置文件;涉及到的常用保留字用户的主文件夹路径在VS Code中打开的文件夹路径在VS Code中打开的文件夹名,不带任何斜杠(/) //不是路径${file} -当前打开的文件当前打开文件的工作空间文件夹当前打开的文件相对于工作区文件夹当前打开的文件相对于工作区文件夹的dirname当前打开的文件的basename。

mahui85的专栏 3009

基于PLC的茶叶揉捻机自动控制系统设计【附代码】

茶叶揉捻是初茶加工过程中的一道关键工序,通过揉捻可以使鲜茶叶成条、碎茶及叶组织细胞破损等。影响茶叶成条率、碎茶率和叶组织细胞破损的主要因素包括揉捻时间、压力和揉捻桶转速。为了提高茶叶品质的稳定性和减轻工人的劳动强度,本文提出了一种基于PLC自动控制技术的茶叶揉捻机控制系统设计。📊 PLC自动化设计 | 毕业设计指导 | 工业自动化解决方案。✅ 具体问题可以私信或查看文章底部二维码。✅ 感恩科研路上每一位志同道合的伙伴!

lagougongzuoshi的博客 1339

使用cubeMX生成USB HID设备

本文主要介绍如何使用stm32开发板和cubeMX生成HID设备,供参考。

专注音频,高效工作,快乐生活! 969

VsCode配置C/C++开发环境:从MinGW-w64安装到调试全攻略

C/C++编程离不开编译器的支持,源码需经编译、链接才能变成可执行文件。理解编辑器与编译器的分工,是搭建开发环境的第一步。Visual Studio Code作为轻量级编辑器,凭借丰富的插件生态和跨平台特性,搭配MinGW-w64中的GCC工具链,便能在Windows上获得接近Linux的开发体验。这一组合启动快、占用低,尤其适合算法学习、刷OJ和课程设计等场景。同时,MinGW-w64安装简便,配合环境变量配置和GDB调试器,让新手也能快速掌握从代码编写到断点调试的完整流程。本文围绕VsCode、MinG

weixin_28833069的博客 133

ASPICE(Automotive SPICE)流程落地,研发管理工具自研,如何从量化数据体现研发效率提升的

摘要: ASPICE流程显著提升研发效率,主要体现在质量、成本和时间三个维度。关键量化指标包括:缺陷率降低30%-60%,维护工作量减少28%,研发周期缩短10%-20%,需求变更率降低58%,代码评审效率提升300%。初期开发成本虽增加9%,但长期回报率高。核心方法包括缺陷预防前移、需求精准管理和流程标准化与自动化。建立量化度量体系需覆盖缺陷密度、需求稳定性、进度偏差等指标,并依托工具链支持数据收集。实施ASPICE是短期投入换取长期质量提升和成本优化的高效投资。

汽车软件开发 179

vscode一键配置C/C++多个C及CPP文件编译与tasks.json和launch.json原理

vscode配置环境及配置原理 搜了很多的教程,发现要么教程太老,给的配置信息里面有些参数都不能使用了,要么就是直接扔下自己的配置信息就没了,不知道咋来的,也不能拿过来直接用,让我这种小白无从下手,于是就摸索整理一下,帮助一下像我这样小白刚入手的小伙伴们。 原理 我觉得最重要的就是我们要明白各个配置文件是干嘛的,它是怎么被vscode使用的,明白这一点,那么自己就可以比较清晰参数该怎么改,应该改哪些参数,而不是拿着别人的配置文件,无从下手。配置文件基本的原理(只是原理,不是咋配置的): vscode使用的最

taynpg的博客 4万+

2025.05.28【读书笔记】|如何用SILVA和RFAM数据库高效去除rRNA污染

摘要: 在Ribo-seq等测序数据分析中,清除rRNA污染对结果准确性至关重要。仅使用SILVA数据库可能遗漏5S rRNA污染,建议结合RFAM数据库(特别是RF00001家族)全面清除。操作要点包括:下载两库序列、将RNA碱基U替换为DNA的T、合并序列建立索引,使用bowtie2过滤rRNA reads。注意U/T转换是关键,否则会导致比对失败。该方法能有效提升数据清洁度,为后续分析奠定基础。

976

YOLOv8改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点

本文记录的是利用模块优化的目标检测网络模型。的目的是在不出现过参数化的情况下有效地增加卷积的感受野,从而解决了在感受野扩展中的参数膨胀问题。本文将其加入到深度可分离卷积中,有效降低模型参数量和计算量,并二次创新C2f,使模块更好地捕捉低频特征,增强网络性能。Wavelet Convolutions for Large Receptive Fields小波卷积及其改进的实现代码如下: 四、创新模块 4.1 改进点1⭐ 模块改进方法:加入(第五节讲解添加步骤)。添加后如下:模块改进方法:基于的(第五节讲解添加

Limiiiing的博客 1092

VSCode配置C/C++运行调试环境

VSCode配置C/C++运行调试环境   最近换了台主机写C,由于看惯了VSCode的界面,不是很适应CodeBlocks单调的主题(主要是edit外的颜色无法修改),于是准备配置VSCode的C/C++环境。   新版VSCode的配置比较简单,主要分为三步:     1、配置环境变量     2、下载插件     3、添加配置文件 配置环境变量   首先我们需要编译器,我这里因为安装过CodeBlocks,直接使用其默认的MinGW。如果没有CodeBlocks可以参考这篇博客安装。   CodeBl

MyCyber 1万+

Open3D 模拟退火算法优化的ICP点云配准

传统ICP算法易陷入局部最优且对初始位姿敏感,而SA算法通过概率性接受劣解,能够在高温阶段广泛探索解空间,低温阶段精细收敛。

点云侠的博客 244

vscode配置c/c++环境及调试器配置

为了将你的项目与远程 Git 仓库关联起来,你需要在项目的根目录下初始化一个 Git 仓库(如果还没有的话),然后将你的代码添加到仓库中,并提交更改。配置好调试器和构建任务后,你现在可以使用 VSCode 的调试功能来运行和调试你的程序了。版本控制是软件开发中不可或缺的一部分,它允许你跟踪代码的更改历史,协作开发,以及回滚到之前的版本。当你保存文件时,VSCode的C/C++扩展会自动使用你配置的编译器进行编译。如果你想要手动构建你的项目,你可以在VSCode的终端中运行你的构建命令(如。

编程小弟的博客 5367

Onnxruntime之YOLOP部署过程记录

魔改YoloP部署过程记录

如果想成为中心,那么就到中心去吧。 1922

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

vscode配置C/C++编译环境

这边记录一下配置vscodeC/C++编译环境的过程,以便以后要配置的时候可以直接参考。 插件安装参考博文:VSCode配置C/C++环境和Windows下VSCode配置C++环境 2. 概述 我们知道vscode只是一个编辑器,要编译C/C++,我们需要安装编译器。一般我们安装的是MinGW,假设这里我的MinGW安装路径是D:\MinGW 回想我们之前用命令行或者IED编译项目,我们一般需要明确编译器的路径(包括了标准库的头文件和静态库),项目的编译规则,配置调试。 而上面这三部分就和vscode编

qq_41854911的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vscode C/C++ CMake 调试

✅。

hello world 1777

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Linux环境下vscode调试C/C++

vscode从编译调试开始~~~哈哈哈

保持一颗永远好奇、勇于探索的心 7981

VSCode C/C++ 构建任务配置文件 `tasks.json` 全字段深度解析

原因:仅编译了当前文件,未包含其他依赖文件(如func.c中的函数被main.c调用,但未加入编译列表)。解决:将args中的${file}改为(编译所有.c文件)。tasks.json是 VSCode 实现 C/C++ 自动化编译的核心配置,通过type指定任务类型、command选择编译器、args配置编译参数、解析错误信息,最终实现“一键编译”。本文解析的两个任务分别适配 C(gcc)和 C++(g++)场景,默认支持单文件编译,通过修改args等字段可扩展至多文件、带库依赖的复杂项目。

weixin_42108533的博客 2161

vscode C/C++ 调试配置

本文介绍了C/C++在vscode中如何配置调试功能(debug),利用调试功能可以更便于发现程序运行过程中存在的错误,相比于传统的手动模拟程序运行增加了一些效率。

winter丶的博客 4047

VSCODE配置使用cmake构建c++项目

VSCODE配置使用cmake构建c++项目 准备工具 具体如何下载,大家百度一下就行,具体说一下配置细节. vscode (要安装cmake和cmake tools插件 不安装也行,主要是cmake tools 会有cmake语法补全, 而cmake tools 依赖cmake插件) cmake mingw (当前要是有QT等使用QT下的mingw也行)(需要把里面的bin目录添加到环境变量当中) 具体配置 vscode下需要在你项目根目录新建一个.vscode文件夹(也可以自动生成,就按照最简单的办

czppp的博客 5593
上一篇: VSCode调试C/C++出现 Could not load source ‘./csu/../libc-start.c‘: ‘SourceRequest‘ not supported.无法加载源码
ying随
博客等级 码龄4年 141粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值