launch.json / tasks.json / c_cpp_properties.json 解析 配置文件 C++ VSCode
在使用VS Code进行C/C++的开发过程中,有三个至关重要的配置文件,分别是 tasks.json, launch.json 和 c_cpp_properties.json
1. tasks.json
tasks.json 是在 vscode 中辅助程序编译的模块,可以代你执行类似于在命令行输入 “gcc hello.c -o hello” 命令的操作,你只要在图形界面下操作即可生成可执行文件。
当你在项目文件夹下打开 vscode 后:
1) 选择“终端”; 2) 选择“配置任务”; 3) 选择你想使用的编译器(这里本人选择 gcc);
即可生成默认的 tasks.json 文件。
可以看到在文件夹下生成了名为 .vscode 的文件,tasks.json 就放在其中。
⭐其中比较重要的几个变量:
也可以参考 Integrate with External Tools via Tasks 官方文档 文档进一步了解
2. launch.json
launch.json 是用于运行 ( run ) 和调试 ( debug ) 的配置文件,可以指定语言环境,指定调试类型等等内容。
打开 VS Code 后,按照下图所示的提示,从左向右依次点击(也可以在上方菜单栏依次选择 :1) “运行”;2) “打开配置”;3) 选择 " C++ (GDB/LLDB) " 即可生成 launch.json),创建 launch.json 文件
生成的 launch.json 也放在 .vscode 文件夹中
⭐其中各种变量的内容及涵义如下:
也可以参考 Configuring C/C++ debugging官方文档 和 Debugging in VS Code官方文档 进行设置
3. c_cpp_properties.json
c_cpp_properties.json 主要用来设置包含头文件的路径,设置 C/C++ 支持的版本号等等。
1) 点击 Ctrl + Shift +P 弹出命令搜索框;2) 选择 C/C++: 编辑配置 (UI) 即可生成 c_cpp_properties.json 文件,此文件同样包含在.vscode文件夹中。
⭐其中主要的变量名称和涵义如下:
{ "configurations": [ { "name": "Linux", //配置名称,默认为系统名,可以自行更改 "includePath": [ //(常用)运行项目包含.h头文件的目录, "${workspaceFolder}/**"//此处会匹配工作文件下的所有文件 ], //添加"compilerPath"后,系统include路径可不写明 "defines": [], //(常用)定义一些需要的变量,等价于在编译时写"-D变量" "compilerPath": "/usr/bin/gcc", //编译器的路径 "cStandard": "gnu17", //C标准的版本 "cppStandard": "gnu++14", //C++标准的版本 "intelliSenseMode": "gcc-x64" //IntelliSense的一些配置,默认即可 } ], "version": 4 }
也可参考 c_cpp_properties.json 官方文档 设置更多内容。
在上述三个配置文件中,我们会看到类似于 ${workspaceFolder} 等等类似的描述,这些描述是 VS Code 预定义变量名,可以用来代指工作目录的路径,环境变量的名称,生成文件的名称等等。使用这些预定义的变量名可以使得我们的开发过程更加高效,同时可移植性也大大增强。更多内容可以参照官方文档 Variables Reference。
${workspaceFolder} - VS Code当前打开工作区文件夹的路径 ${file} - 当前打开文件的绝对路径 ${fileBasename} - 当前打开文件的名称 ${fileBasenameNoExtension} - 当前打开文件的名称,但是不加后缀名 ${fileDirname} - 文件所在的文件夹路径
欢迎各位指正和补充!