VSCode-配置c_cpp环境
mac下VSCode 配置 cpp 环境记录:
一. 环境
- macOS:10.14
- VSCode:1.44.2
- Xcode:11.3.1(会用到Xcode的工具链,如lldb、clang)
二. 安装插件
编辑、调试C/C++程序,需要安装VSCode 插件:C/C++
。插件官网地址。
现在,用于演示的该文件夹中只有hello.cpp
一个文件。继续往下阅读,看看如何配置文件。
三. 添加 launch.json
lauch.json 用于设置调试、运行时的东东;
tasks.json 用于设置编译时的东东。
3.1 点击顶部菜单栏运行(Run)-> 添加配置(Add Configuration)
3.2 点击 C++(GDB/LLDB)(请忽略下图中别的东西,博主装了别的插件所以才有的
3.3 点击下图中的第一个clang++ - 生成和调试活动文件。因为该示例使用的C++语言,并且用clang编译器编译(和gcc一样是Mac中自带的,但是推荐用clang,并且不自带g++,所以gcc系的编译器不能默认还不能编译c++,图中的g++是博主自己安装的;图中两个clang++XXX经过实测生成的文件是一样的)。
3.4 会自动生成.vscode
文件夹和launch.json
文件。
需要特别注意的键:
-
preLaunchTask
:该值需要与tasks.json
中的label
相同,否则调试时会提示找不到; -
externalConsole
:如果需要输入东西,比如使用了scanf()
函数, 最好修改为true
使用外部控制台(在运行时额外打开终端)。否则用VSCode内置的控制台不能输入东西(不是内联控制台,内联控制台和外部控制台其实是一样的,但是这里调试的时候没有内联控制台这个选项)
其他的键,一般不用修改: -
name
:显示在‘’调试”(Run)侧边栏的名字; -
type
:类型。不能改; -
request
:有launch
和attach
可选,这里填launch,按下F5就可以启动调试了;而不是attach(附加); -
program
:程序所在路径和程序名,更多变量在官方文档; -
args
:这里填命令行参数(main()
函数的形参),如果没有可不填; -
stopAtEntry
:为true时,在开始运行程序时,不立刻往后执行,先暂停一下,一般填false; -
cwd
:当前工作目录,在哪个目录调试程序,一般在当前文件夹(项目所在文件夹); -
environment
:临时手动添加的环境变量; -
MIMode
:指定调试器gdb或lldb。Mac下推荐用lldb,Xcode下载好就有;
可以通过鼠标悬停在关键字(键名)上,查看官方解释。
至此,launch.json
就配置好了
四. 添加 tasks.json
lauch.json 用于设置调试、运行时的东东;
tasks.json 用于设置编译时的东东。
4.1 把界面点到代码的页面,别停留在launch.json,点击顶部菜单栏终端(Terminal)-> 配置任务(Configure Tasks);
注意:一定要将界面切到包含C++ code 的窗口,再点击顶部的菜单栏选项,VSCode 是根据当前界面的活动窗口来自动选择task 任务的。
4.2 同样选择clang++
的选项,博主这里有两个clang++相关的东东,区别在clang++的路径不一样,博主这里用路径为/usr/bin/clang++
的好使,用Xcode路径的那个不好使。
点击后就会在.vscode
中生成tasks.json
文件。
需要特别注意的键:
label
:需要与launch.json
中的preLaunchTask
保持一致,否则调试时会提示找不到;command
:编译器所在的位置,博主用的/usr/bin/clang++
;args
:编译参数,如果你在命令行用过gcc编译器应该知道这些选项和值都是啥。clang++命令的选项与gcc的类似,可以根据自己需要删改,如需要开启O2来编译,则可以加上两行"-O2"
。更多变量在官方文档;cwd
:运行时程序的工作目录,一般与command编译器的路径一致。博主这里是手动修改了command值成截图中样子,所以两处不同,但是也可以使用;
可以通过鼠标悬停在关键字(键名)上,查看官方解释。
至此,tasks.json
配置完成
五. 调试
点击运行->启动调试,或按键盘F5
,或调试()侧边栏->绿色小箭头,开始调试。
如图,博主加了断点(在行号前点一下)、用了外部控制台。窗口顶部中间或触控栏上可以单步往下执行和终止程序。
六. 设置头文件路径
有些时候一些Linux的头文件在windows下可能找不到(如:pthread.h
),这个时候需要重新指定一下头文件的路径:
找到编译器路径,VSCode会自动根据编译器路径去查找需要包含的头文件路径:
另外须将 IntelliSense
的选项值修改如下:
这样的话,会自动生成 c_cpp_properties.json
文件,这样就能找到某些特殊平台上的头文件了:
七. 总结
关键点:
- 配置
lauch.json
和tasks.json
先后顺序可随意; - tasks.json的
label
和launch.json的preLaunchTask
要保持一致,否则调试时会提示找不到; - 如果需要输入东东,一定要将launch.json中的
externalConsole
设置为true
,只有这种方法可以在调试时输入。
参考链接:
标签:launch,VSCode,配置,clang,++,json,cpp,调试 From: https://www.cnblogs.com/yongdaimi/p/16836771.html