1、下载插件c/c++
2、创建文件夹
其中:
cpp用来存放cpp源码
fill用来存放生成的可执行文件
include用来存放头文件
test.cpp为主函数入口,放在最外面,方便点击。
3、编写源代码
在编写主函数之前,我们先来创建一个头文件和其对应的源文件:
在include中创建一个名为test.h的头文件
在cpp中创建一个名为te.cpp的与之对应的源文件
这里之所以不将两者名字取为一样,主要是想在配置过程中讲的更清楚一点。
在te.cpp中写一个两数求和的代码:
#include"iostream"
int he(int a,int b)
{
return a+b;
}
在test.h的头文件中,进行声明:
int he(int a,int b);
在主函数中写入如下测试代码:
#include<iostream>
#include "test.h"
using namespace std;
int main()
{
std::cout << he(3,7)<< std::endl;
return 0;
}
到现在为止我们已经将所有的代码准备工作做好了,下面来配置编译器以及调试器
4、配置编译器调试器
点击终端:
在点击里面的配置任务选项,会弹出如下界面:
选择一个g++编译器,这里我选择了/usr/bin/g++
这个,然后点击它,此时会自动创建一个.vscode的文件夹,里面有个tasks.json的文件,打开它,我们开始在里面去配置我们的cpp文件路径和头文件路径,以使编译器能找到:
打开之后如下图:
其中1出不用管,这是他系统生成的,指的是当前主函数的入口文件,在这里也就是我们的test.cpp文件
其中2处是我们自己加的,这一行要讲我们的cpp文件路径写进去,因为我所有的cpp文件都放在cpp文件夹下,因此,写入该文件夹的路径(可以是相对路径)
其中3处我们需要修改一下,他原本生成的是这样的"${fileDirname}/${fileBasenameNoExtension}",
,这句话的意思就是在当前目录下生成可执行文件,这里我们要将其可执行文件放在fill目录下,就需要定位到该目录,因此我这里在${fileDirname}后面添加=了fill
其中4是使我们自己加的,应为为我们将所有的头文件都放在了include目录下,而系统并不知道,因此
我们需要通过-I选项进行自己指定头文件
其中5表示头文件路径
这里配置完成之后,就可以运行了,但是还不能调试,应为我们还没有配置gdb调试工具,下面进行调试工具配置:
点击运行按钮:
在点击里面的添加配置这一项:会弹出如下界面,叫我们选择GDB工具
这里我选择第一个linux的,接着会出现如下界面:
接着会叫我们选择编译器,我们还是选择之前我们选择的那个usr/bin/g++
此时会在.vscode中生成launchg.json的文件,打开它,如下:
我们只需要配置1处问配置项即可,这里我需要在${fileDirname}后面添加一级fill,应为我们的可执行文件是存放在fill里面的,这里需要指定到该目录。
上面配置完成之后就可以进行调试了:
5、测试
在主函数中打入一个断点。
然后按下快捷键,ctrl+F5即可进入调试环节:如下
1处为调试的选项
2处显示变量的值,因为这里没有变量,所有没有显示出来。
到这里基本调试环节就配置完成了
下面还需要配置一个vscode搜索路径,因为上面的配置仅仅是使用的linux的编译器来进行编译和调试,但是在vscode下,我们如果想让vscode添加其他的头文件并能检查语法错误,此时我们还需要为vscode配置一个头文件搜索路径
6、配置vscode头文件搜索路径
按下ctrl+shift+p打开控制面板,输入c/c++选择如下配置项:
此时会在.vscode中生成一个名为c_cpp_XXX.json的文件,打开它,如下:
1处为vscode头文件搜索路径,因为这里是"
w
o
r
k
s
p
a
c
e
F
o
l
d
e
r
/
∗
∗
"
,
在
{workspaceFolder}/**",在
workspaceFolder/∗∗",在{workspaceFolder}/后面有两个**表示递归搜索,因为我们的头文件就在test的include目录下,因此,可以搜索到,但是若我们的头文件不在该项目下,而在其他地方,我们就需要早在这里进行手动指定头文件搜索路径。