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。

浙公网安备 33010602011771号