前言:介绍 task.json 和 launch.json 文件
task.json 和 launch.json 是用于配置 VS Code 编辑器中的任务 和 调试功能的两个重要文件。
task.json 文件用于配置任务,它定义了执行特定操作的任务,并提供了相应的命令和参数。以下是 task.json 的一些常见配置属性:
“tasks”:包含了一个或多个任务配置,每个配置定义了一个特定的任务。
“label”:指定了任务的名称,用于在 VS Code 中显示。
“command”:指定了要执行的命令或可执行文件的路径。
“args”:指定了传递给命令或可执行文件的参数。
“options”:指定了任务运行时的选项,如工作目录、环境变量等。
“problemMatcher”:指定了问题匹配器,用于捕获任务输出中的错误和警告信息。
其他任务特定的属性,如 “isBackground”(指定任务是否在后台运行)等。
launch.json 文件用于配置调试器,它定义了调试会话的启动方式以及各种调试选项。以下是 launch.json 的一些常见配置属性:
“configurations”:包含了一个或多个调试配置,每个配置定义了一个特定的调试方案。
“type”:指定了要使用的调试器类型,如 C++、Python、Node.js 等。
“request”:指定了调试器的请求类型,例如 “launch”、“attach” 等。
“program”:指定了要调试的程序的入口点路径。
“args”:指定了传递给被调试程序的命令行参数。
“env”:指定了环境变量,用于设置调试过程中的环境。
其他调试器特定的属性,如 “preLaunchTask”(指定在调试之前执行的任务)、“sourceFileMap”(指定源代码与实际文件路径之间的映射关系)等。
总结起来,task.json 用于配置任务,以便在编辑器中执行自定义的操作。launch.json 用于配置调试器,以便在编辑器中进行程序调试。它们的作用是提供了一种简便的方式来定义和管理调试和任务相关的设置,使得开发者可以更高效地进行调试和任务操作。
1、项目结构(分目录+多文件)
2、task.json文件
注释处为修改内容
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",//要与launch.json中 "preLaunchTask" 一致
"command": "D:\\Software\\Microsoft VS Code\\mingw64\\bin\\g++.exe",//本机MinGW的g++.exe的路径
"args": [
"-fdiagnostics-color=always",
"-g",//1、添加编译
"${workspaceFolder}\\src\\*.cpp",//1.1、指定工作目录下.cpp文件位置,执行-g时需要用到
"-I",//2、添加包含
"${workspaceFolder}\\inc",//2.2、指定工目录下.h文件位置,这里只需要包含路径即可,执行-I时需要用到
"-o",//3、添加连接
"${workspaceFolder}\\out\\${fileBasenameNoExtension}.exe"//3.3、指定工目录下链接生成的.exe文件位置与生成名称
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
3、launch.json文件
注释处为修改内容
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\out\\${fileBasenameNoExtension}.exe", //1、要与"args"[]下的.exe生成路径一致
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}\\out",//2、指定.exe输出所在目录
"environment": [],
"externalConsole": true,//3、启用黑窗口
"MIMode": "gdb",
"miDebuggerPath": "D:\\Software\\Microsoft VS Code\\mingw64\\bin\\gdb.exe",//4、本机MinGW的gdb.exe的路径
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件" //5、要与task.json中 "label" 一致
}
]
}
4、c_cpp_properties.json文件
注释处为修改内容
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/inc/**",//1、添加头文件路径(不加也可以,我也不知道为啥)
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
5、实现示例
VSCode C/C++ Demo下载链接文章来源:https://www.toymoban.com/news/detail-627223.html
参考:
vscode C++ 分文件、文件夹编译配置与错误解决文章来源地址https://www.toymoban.com/news/detail-627223.html
到了这里,关于VSCode C/C++ 分目录编译配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!