vscode配置c语言调试环境mac,MAC+VS Code+C/C++调试配置

第二篇博客啦,这一篇博客接着上篇没有写完的内容,继续跟大家安利颜值无敌高的VS Code。

由于自己的小白本质,在配置VS Code的C/C++环境时,很多事情并不清楚,第一次虽然配置成功了,但是后来自己又想重新整理一下工作区的文件,结果越理越乱,索性将整个文件夹删了(无奈脸),结果后来重新调试一直不成功,然后自己又有点强迫症,就一定想要配置好,结果第二次又浪费了很多时间才配好,加之网上博客关于MAC端的资料比较杂,而且比较老,没有一个完整详细的流程,所以我自己下定决心一定要记录一篇比较清楚详细的流程,给自己留一个存档。

如果大噶想要在Windows下安装的话,安利大家一篇知乎高赞回答。

VS Code下载安装

VS Code插件

VS Code C/C++ 环境配置

添加工作区文件夹

虽然代码能力非常弱,但是环境还是要配好的嘛。C/C++插件 安装完成之后,首先需要将相应的文件夹添加到VS Code对应的工作区,便于后续代码调试,如图所示:

767950139763

Say Hello world

然后,在文本编辑区新建文本,编写一段简单的代码,保存为two_sum.cpp至工作区文件夹中,代码如下,vscode操作如图所示。其中,我工作区文件夹名称是vscode_c,然后因为Code Runner的功劳,此时只需要点右上角的运行按钮,即可运行程序啦。

#include

using namespace std;

int main()

{

int result;

int a = 2;

int b = 3;

result = a + b;

cout << result<< endl;

return 0;

}

767950139763

关于三个配置文件

接下来就是愉快的Debug时间啦,我主要就是在配置这几个文件的时候花了不少时间。因为自己性子急,又总想着网上肯定有现成的配置文件,只要复制一下就好,结果呢,网上的资料质量参差不齐,几乎全都没有用,还有很多就是直接贴图,什么都不说,哎呦喂,我这急脾气加暴脾气呀,一下子全都喷涌而出(心塞),逼着我自己好好看了看官方文档里面的一些说明,这次总算是把一些基本设置参数弄得七七八八了。

c_cpp_properties.json

首先快捷键shift+command+p 打开C/Cpp: Edit configurations,其会自动生成c_cpp_properties.json,该文件主要是方便添加其他路径的头文件以及一些代码定位功能。但是小白如我现在还用不到这些功能,所以该文件自动生成之后,如果只是简单的使用,暂时不需要修改。这个文件是长这个样子滴:

{

"configurations": [

{

"name": "Mac",

"includePath": [

"${workspaceFolder}/**"

],

"defines": [],

"macFrameworkPath": [

"/System/Library/Frameworks",

"/Library/Frameworks"

],

"compilerPath": "/usr/bin/clang",

"cStandard": "c11",

"cppStandard": "c++17",

"intelliSenseMode": "clang-x64"

}

],

"version": 4

}

参数的简单说明

"includePath":后期需要添加的额外头文件路径

"compilerPath": 编译器所在的文件路径

tasks.json

这个文件的作用是编译C/C++源码。首先快捷键shift+command+p 打开Tasks: Configure Tasks,选择 Create tasks.json file from templates,此时会蹦出一个下拉列表,在下拉列表中选择Others,这个时候tasks.json文件就会自动生成啦。这个配置文件是长这个样子的:

{

"version": "2.0.0",

"tasks": [

{

"label": "Build two_sum.cpp",

"type": "shell",

"command": "g++",

"args": [

"${file}",

"-o",

"${fileDirname}/${fileBasenameNoExtension}.out",

"-g"

],

"group": {

"kind": "build",

"isDefault": true

}

}

]

}

参数的简单说明

"label":任务的名称

"type":任务的类型,有两种(shell/process),shell的意思相当于先打开shell再输入命令,process是直接运行命令

"command":实际执行的命令

"args":在这里可以设置一些需要的参数,比如说这里我设置的四个参数中,

"-o",表示指定输出文件名,如果不加该参数则默认Windows下输出a.exe,Linux/MAC下默认a.out,紧接着的一行即为指定的输出文件名

"-g",C/C++调试必备参数

launch.json

该文件的作用是为了可以让我们愉快地调试代码的啦。首先找到虫子的图标,然后点击设置的按钮,在蹦出来的选项中选择C++ (GDB/LLDB),就像图片中这个样子:

767950139763

然后,跟tasks.json相对应,简单修改后如下:

{

"version": "0.2.0",

"configurations": [

{

"name": "(lldb) Launch",

"type": "cppdbg",

"request": "launch",

"program": "${fileDirname}/${fileBasenameNoExtension}.out",

"args": [],

"stopAtEntry": false,

"cwd": "${workspaceFolder}",

"environment": [],

"externalConsole": true,

"MIMode": "lldb"

}

]

}

参数的简单说明

"name":配置名称,将会在启动配置的下拉菜单中显示

"type":配置类型

"request":请求配置类型,可以为launch(启动)或attach(附加)

"program":进行调试的程序的路径

"stopAtEntry":若设置为true时程序将暂停在程序入口处

"cwd":当前调试所在目录

"externalConsole":调试时是否显示控制台窗口,设置为true即是显示控制台

上面的步骤全部完成之后,首先切换到two_sum.cpp,快捷键command+shift+b对源文件进行编译,编译成功之后,按下F5,我们便可以愉快地调试啦。成功调试的图如下:

767950139763

熬了个大夜,终于是写完了,昂,感觉其实也挺简单的(莫名感觉到一点心塞),不过还是很希望能够帮助到大家一点。

当然,有什么错误或者不对的地方记得告诉我哦。小白如我,希望和大噶一起进步啦。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值