VS code 中的头文件分别是什么以及为什么需要这些文件?

头文件目录中三个文件分别是什么

c_cpp_properties.json - 用于配置 C++

{
    "configurations": [
        {
            "name": "Linux", // 必须:配置的名称
            "compilerPath": "/usr/bin/g++", // 强烈推荐:几乎是必须的
            "includePath": [
                "${workspaceFolder}/**" // 推荐:包含项目内所有头文件
            ],
            "cppStandard": "c++17", // 推荐:指定C++标准
            "intelliSenseMode": "gcc-x64" // 推荐:指定IntelliSense引擎
        }
    ],
    "version": 4
}
  • "name"必须,用于指明编译的环境,例如:Linux、Win64

  • "compilerPath"必须,用于指明编译器的路径。

  • "includePath"必须,用于指明头文件包含的目录在哪里,如果有除默认安装之外的包,则需要添加包所在的路径。

  • "cppStandard" :指定 C++ 的语言标准。

  • "intelliSenseMode" : 指定 IntelliSense 引擎的模式,通常根据平台和编译器选择,如 gcc-x64(Linux GCC)、msvc-x64(Windows MSVC)。

  • "version" :配置文件的架构版本,c_cpp_properties.json 目前为 4


tasks.json - 用于配置任务

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "g++", // 必须:任务的名称
            "type": "shell", // 必须:任务类型
            "command": "g++", // 必须:编译器命令
            "args": [ // 必须:编译参数
                "-g", // 生成调试信息
                "-o", // 指定输出文件
                "${fileDirname}/${fileBasenameNoExtension}", // 输出文件路径(和源文件同名)
                "${file}" // 要编译的当前文件
            ],
            "group": {
                "kind": "build",
                "isDefault": true // 推荐:将此任务设为默认构建任务(Ctrl+Shift+B)
            },
            "problemMatcher": ["$gcc"] // 推荐:用gcc的格式捕捉错误信息
        }
    ]
}
  • "version" :配置文件的架构版本,task.json 目前为 4
  • "tasks"必须,任务的内容,用 [{ }] 括起来。
  • "label"必须,任务的唯一标识符,你运行任务时选择的就是它。
  • "type"必须,通常是 "shell",表示在终端中运行命令。
  • "command"必须,要执行的命令本身,Linux 下为 g++windows 下为 g++ 的安装路径。
  • "args"必须,传递给命令的参数列表,用 [ ] 括起来,包括 "-g","-o","${fileDirname}/${fileBasenameNoExtension}","${file}
  • "group" :默认就是这两个内容,有这个参数能够直接使用快捷键来运行。
  • "problemMatcher" :问题匹配器,用于解析 g++ 编译器的输出,并将错误和警告信息捕获。

launch.json - 用于调试

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug myApp", // 必须:配置名称
            "type": "cppdbg", // 必须:调试器类型
            "request": "launch", // 必须:启动方式
            "program": "${fileDirname}\\${fileBasenameNoExtension}", // 必须:要调试的程序路径
            "args": [], // 传递给程序的命令行参数
            "stopAtEntry": false, // 是否在main函数入口暂停
            "cwd": "${workspaceFolder}", // 程序运行的工作目录
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb" // 指定调试器为GDB,
            "miDebuggerPath": "/usr/bin/gdb",//GDB的路径
            "preLaunchTask": "g++"//连接 tasks.json 和 launch.json 的桥梁。
        }
    ]
}
  • "version" :配置文件的架构版本,launch.json 目前为 4
  • "configurations" :中文为配置,必须,用 [{ }] 括起来。
  • "name"必须,调试配置的名称,显示在下拉菜单中,可以命名为任何容易识别的名字。
  • "type"必须,调试器的类型,Linux 上为 "cppdbg"
  • "request"必须,请求的类型,通常是 "launch"(启动新程序)。
  • "program"必须,要调试的可执行文件的绝对路径。这是调试的目标,Linux 下不需加后缀名,windows 下需要在 {fileBasenameNoExtension} 后加.exe。
  • args : 传递给程序的命令行参数。
  • "stopAtEntry"false 表示程序启动后会直接运行,直到遇到手动设置的断点。 true表示调试器一启动就会在 main 函数的第一行暂停,方便从头开始单步调试。
  • "cwd" :指定调试程序时的工作目录。
  • "environment" :设置程序运行时的环境变量,可以在空数组内添加。
  • "externalConsole" :外部控制台,为 true 时,生成一个单独黑窗口。
  • "MIMode" :指定要使用的调试器引擎,通常为 "gdb"
  • "miDebuggerPath" :指定 gdb 调试器的绝对路径。
  • "preLaunchTask"必须,连接编译和调试的关键桥梁,内容必须与task中的 label 同步。

为什么需要这些文件

VScode 本身只是一个文本编辑器,并不具备编译、调试、运行时环境,因此需要安装对应的插件,包括编译工具 g++、调试工具 gdb、以及构建工具 CMake。在 windows 中,通过下载 MinGW,他是专为windows提供 C++ 开发工具链的,包含了 g++ gdb ,在配置的时候,需要正确指定这些工具的位置。通过 .vscode 中的三个文件内容来指定位置。同时为了使编辑代码更美观,在安装VScode 之后需要安装插件:C++ 以及其拓展、Cmake、Material Icon Theme

posted @ 2025-12-31 14:23  Amireux77  阅读(0)  评论(0)    收藏  举报