VSCode搭建C/C++开发环境
- 1. 配置C/C++开发环境
- 1.1 下载和配置MinGW-w64编译器套件
- 1.2 安装C/C++插件
- 2. 在VSCode上编写C语言代码,并编译执行
- 2.1 先打开一个文件夹,写一份C语言代码
- 2.2 设置C/C++编译的选项:c_cpp_properties.json
- 2.3 创建执行任务:tasks.json
- 2.4 执行
- 2.5 复用配置文件
- 3. 一个工程中有多个.c文件需要编译怎么办?
- 4. 如何编译C++源文件?
- 5. VSCode的调试
1. 配置C/C++开发环境
1.1 下载和配置MinGW-w64编译器套件
VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须有编译器使用。为了方便,我们就使用MinGW-w64
,MinGW-w64
移植到windows平台的一个gcc编译器。
1. 下载
-
下载地址:https://sourceforge.net/projects/mingw-w64/files/
-
将下载后得到的文件解压缩,得到一个文件夹。我们点进入,发现里面还有一个文件夹
mingw64
。
-
接下来将这个文件夹放在一个方便管理的地方,建议放在C盘或D盘的根目录下。
-
此时
mingw64
的编译器路径就是C:\mingw64
。
2. 配置
- 在windows电脑上,按
win + s
快捷键,打开快捷框,在搜索框中搜索:环境变量。
- 进入系统属性,点击环境变量:
- 进入环境变量管理页面:
- 新加一个环境变量值,我们前面已经将
mingw64
拷贝到C:\mingw64
目录下了,在这个目录下有一个bin
的文件夹,这个文件夹下是gcc等编译器的可执行文件,所以我们将:C:\mingw64\bin
添加到path
的环境变量中,点击确定。
- 验证一下:在windows电脑上打开cmd窗口,输入:
gcc --version
或者where gcc
,要是能看到下面的界面,就说明MinGW-w64
的编译器套件已经配置好了。
1.2 安装C/C++插件
要在VSCode上编译代码,还需要配置C/C++插件,在VSCode的插件中搜索:C/C++
,点击安装。(我这里已经下载好了)
安装好后要重启VSCode,让之前的设置生效。
2. 在VSCode上编写C语言代码,并编译执行
2.1 先打开一个文件夹,写一份C语言代码
在D盘中创建一个文件夹,打开它。
编写一份测试用的C语言代码:
2.2 设置C/C++编译的选项:c_cpp_properties.json
鼠标点在.c的源文件内部,按ctrl+shift+p
快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面。
配置【编译器路径】为你安装的MingGW-64
目录下的gcc。
更改智能提示模式:
配置完成后,我们可以看到多了一个c_cpp_properties.json
文件,这里面其实就是各种配置信息。
2.3 创建执行任务:tasks.json
在终端中选择配置任务。
在弹出的页面中,选择【C/C++:gcc.exe 生成活动文件】
选择之后,会自动生成一个tasks.json
文件,我们来大致看一下这个文件中的内容:
file
就是指要编译的文件,fileDirname
指当前文件夹,fileBasenameNoExtension
翻译过来就是文件基础名无拓展,表示生成的可执行程序名称。如果编译的文件是test.c
,生成的可执行程序就是test
。
2.4 执行
鼠标点在要执行的源文件中,在终端中点击【运行生成任务】:
选择C/C++:gcc.exe
:
如果执行成功,会看到:
生成了一个test.exe
文件:
接下来我们运行它,按 ctr + ` 快捷键打开终端窗口,输入 ./test 或 ./test.exe:
2.5 复用配置文件
我们之前生成了两个配置文件,一个是c_cpp_properties.json
,一个是tasks.json
。这两个文件都在.vscode
这个文件夹下。
现在我们想在另一个目录中,编译执行代码,只需要将这个.vscode
文件夹复制到另一个目录中,然后按照 2.4 的步骤再来一遍就可以了。
3. 一个工程中有多个.c文件需要编译怎么办?
1. 新建一个文件夹,将之前的.vscode拷贝过来,写两段代码
2. 改造tasts.json
- 编译多个源代码文件:
- 通过把
${file}
修改为${workspaceFolder}\\*.c
,可以构建当前工作区中的所有C文件。 - 通过把
${file}
修改为${workspaceFolder}\\*.cpp
,可以构建当前工作区中的所有C++文件。
- 通过把
- 修改编译输出的文件名:
- 通过把
{fileDirname}\\${fileBasenameNoExtension}.exe
,修改为${workspaceFolder}\\myProgram.exe
可以把编译输出的文件名硬编码为myProgram.exe
。 - 也可以修改为
${workspaceFolder}\\${workspaceRootFolderName}.exe
可以令编译输出的文件名为:打开的工作区文件夹名字.exe。
- 通过把
3. 示例
- 改造
tasks.json
:
- 在终端点击【运行生成任务】:
- 生成了前缀与当前工作目录同名的文件
test1.exe
,在终端输入./test1
可以运行它:
4. 如何编译C++源文件?
1. 配置c_cpp_properties.json
-
按 ctrl + shift + p 快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面:
-
修改编译器路径:
-
智能提示模式不用改:
2. 配置tasks.json
-
在终端点击【配置任务】:
-
选择【C/C++:g++ 生成活动文件】
-
可以发现
tasks.json
文件中多了如下配置内容:
3. 如需要编译多个.cpp文件,参开3【编译多个.c文件】
5. VSCode的调试
1. 创建launch.json文件
-
首先点击调试,创建
launch.json
文件:
-
MingGW64
下的调试工具是gdb,所以我们选择【C/C++(GDB/LLDB)】:
-
会生成一个
launch.json
文件:
-
添加配置,选择【C/C++(gdb)启动】:
-
修改两个地方:
-
要调试的程序名,可以复用
tasks.json
中的配置;调试工具之前我们已经下过了,路径如下:
2. 开始调试
- 当
launch.json
文件生成后,我们只需要打断点开始调试就可以了。 - 调试的快捷键和VS系列的IDE是一样的,如:
- F9:打断点/取消断点;
- F5:启动调试;
- F10:逐过程调试;
- F11:逐语句调试。
- 启动调试后,也是可以使用监视窗口查看变量等程序执行过程中的信息的。