关于VSCode的三个配置文件
若要使用VSCode来开发C++程序,则应该了解以下三种配置文件,分别为:
- tasks.json:编译器相关的配置文件。比如,设置编译指令。注:对于复杂的编译任务(涉及多个源文件的编译),不如直接编写Makefile文件来的方便。
- launch.json:调试器相关的配置文件。比如,调试器的路径、编译生成的可执行文件路径。注:若源文件需要调试,编译生成可执行文件时必须加上
-g
选项,否则断点无法生效。 - c_cpp_properties.json:编译器路径和智能代码提示相关的配置文件。
1.tasks.json
1.1.创建方式
菜单栏选择 " Terminal/Configure Tasks"。
1.2.配置文件
若要支持C++高版本的编译,比如C++17,可以在参数列表
args
中添加一行
-std=c++17
。当然,前提是编译器支持。
**注:若编译器支持C++17,且在参数列表
args
中添加一行
-std=c++17
,然后打印
__cplusplus
,结果就会变成
201703
。**
{"version":"2.0.0","tasks":[{"label":"build",// 必须与launch.json中的"preLaunchTask"一致"type":"shell",// 可以选择shell或者process"command":"g++",// 运行的命令"args":["-g","${file}","-o","${fileDirname}/build/${fileBasenameNoExtension}.exe"],// 将该task添加到build组,可以使用Ctrl+Shift+B快捷键来找到编译命令,命令名称就是"label""group":{"kind":"build","isDefault":true}}]}
可以观察
tasks.json
中的
command
和
args
这两项,翻译过来其实就是如下指令:
g++ -g${file}-o${fileDirname}/build/${fileBasenameNoExtension}.exe
以上指令中,
${file}
等都是VScode设置的变量,可以参考官方文档或这里。这里简单介绍一下这些变量的含义:
${file}
:当前正在编辑的文件名,包括绝对路径、文件名以及后缀;${fileDirname}
:当前打开的文件所在的绝对路径,不包括文件名;${fileBasenameNoExtension}
:当前打开的文件的文件名,不包括路径和后缀名。
比如,当前打开的文件路径为
D:/test/hello.cpp
,那么这三个变量分别为
${file}
:D:/test/hello.cpp
${fileDirname}
:D:/test
${fileBasenameNoExtension}
:hello
2.launch.json
2.1.创建方式
创建方式如下图所示。
选择GDB作为调试器,然后就会生成一个配置为空的
launch.json
的文件。在"configurations"中输入gdb可以自动生成默认配置。一般,修改默认配置中的"program"和"miDebuggerPath"即可完成绝大部分的设置。
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[]}
2.2.配置文件
该配置文件中主要需要配置如下选项:
- “program”:可执行文件的路径
- “miDebuggerPath”:调试器的路径
在configurations中输入gdb可以自动生成默认配置。
{"version":"0.2.0","configurations":[{"name":"(gdb) 启动","type":"cppdbg","request":"launch","program":"${fileDirname}\\${fileBasenameNoExtension}.exe","args":[],"stopAtEntry":false,"cwd":"${fileDirname}","environment":[],"externalConsole":false,"MIMode":"gdb","miDebuggerPath":"D:\\Software\\TDM-GCC-64\\bin\\gdb64.exe",// 调试器路径"setupCommands":[{"description":"为 gdb 启用整齐打印","text":"-enable-pretty-printing","ignoreFailures":true},{"description":"将反汇编风格设置为 Intel","text":"-gdb-set disassembly-flavor intel","ignoreFailures":true}]}]}
3.c_cpp_properties.json
3.1.创建方式
可以使用快捷键Ctrl+Shift+P,输入C/C++:Edit Configuration。
3.2.配置文件
该配置文件中主要需要配置如下选项:
- “includePath”:指定了头文件的搜索路径。**"/usr/local/include"是我手动添加的路径,里面存放了
boost
库的头文件**。只有正常添加了搜索路径,Vscode才能正确找到它们。 - “compilerPath”:这个是编译器的路径。
{"configurations":[{"name":"Linux","includePath":["${workspaceFolder}/**","/usr/local/include"// boost头文件],"defines":[],"compilerPath":"/usr/bin/gcc","cStandard":"c11","cppStandard":"gnu++14","intelliSenseMode":"linux-gcc-x64"}],"version":4}
cc","cStandard":"c11","cppStandard":"gnu++14","intelliSenseMode":"linux-gcc-x64"}],"version":4}
版权归原作者 Atarasin 所有, 如有侵权,请联系我们删除。