VS Code 配置 C/C++ 编程运行环境(保姆级教程)
文章目录
-
一、软件下载
-
- 1. 下载 VS Code 安装工具
-
第二步:安装VS Code开发工具
-
第三步:获取MinGW-W64并配置开发环境
-
第四步:在VS Code中设置C/C++编程运行的环境参数。
-
- 汉化VS Code(可选)
- 安装C/C++相关扩展包
- 第五章 在 VS Code 中进行 C/C++ 编程环境测试
-
建立代码文件夹
- 执行单个.c文件并进行相应的调试
- 执行多个.c文件并进行相应的调试
-
参考资料
-
本教程将指导您安装Visual Studio Code(以后简称 VS Code)。随后,在Visual Studio Code中安装相关C/C++插件。同时,在Visual Studio Code中配置GCC C/C++编译器(gcc/g++)和GDB调试器以生成Windows环境中的程序。配置完成后,请您编写、编译、运行及调试大部分C/C++程序。
这份教程全部参考内容源自Documentation for Visual Studio Code。
一、软件下载
1. 下载 VS Code 安装工具
官方下载链接:Visual Studio Code - Code editing. Reconfigured

直接点“Download for Windows”就可以进行下载。
2. 下载 MinGW-W64
MinGOW-W64可通过MinGOW-w64的官方网站获取安装文件;同样可以访问 MinGOW-W64 的 GitHub 官方存储库进行下载。然而,在该网站上直接获取可能会出现误操作的情况;因此我特意整理了一个 GitHub 仓库链接供您参考。(官方认证,绝对没错!)
MinGW-W64安装链接:[发布版本 · msys 2/mjsy s-instanger](GitHub. com)
访问该链接后可查看更新历史。截至当前发布日期, 最新版本号为 [2024-01-13] 。点击该日期将跳转至下载页面。

如图所示,在下方列出的程序中选择带有前缀 msys2-x86_64 并标注日期 20240113.exe 的版本(请确保文件路径包含前缀 msys2-x86_64 ,后面标注的是日期),单击右侧的下载按钮

二、安装 VS Code
双击运行VSCodeUserSetup-x64-1.87.2.exe。

如果出现如下弹窗,单击运行即可。

选择我同意此协议并单击下一步。

此处旨在指示 VS Code 的安装位置。由于我的系统通常仅配备了一个硬盘驱动器(现多为固态硬盘且一般未分区),因此我会直接将安装路径设置为预设的C盘根目录(或当前固态硬盘主分区根目录)。单击下一步开始配置。值得注意的是,在你使用时若遇到不同配置需求,请确保将路径设置为适当的位置,并确认所有文件权限设置正确。如果你的电脑硬盘已实现分区管理,则可以选择其他预设路径进行配置。

下一步
此步骤旨在为快捷方式命名,并允许用户自定义其名称。如果未勾选下方选项中的某一项,则该快捷方式会被放置于起始菜单中。我选择了默认设置,并将立即执行下一步操作。单击【下一步

默认只有最后两项被选中,我全部选上,单击下一步。

最后再确认一下信息,确认之后直接安装即可。

大概一分钟左右就可以安装完成。

安装完成后,先暂时不运行 VS Code,把勾选去掉,点击完成。

三、安装 MinGW-W64 及配置环境变量
双击msys2-x86_64-20240113.exe运行安装程序。

[!CAUTION]
请注意,MSYS2 需要 64 位 Windows 8.1 及以上版本。
此界面直接点击下一步。

下一步
配置安装路径,默认设置通常比较方便。建议根据个人需求进行调整。然后点击【下一步
配置安装路径,默认设置通常比较方便。建议根据个人需求进行调整。然后点击【下一步

开始菜单中的名字,这个还是可以直接默认,点击下一步。

开始安装。

待进度条走完,直接点击下一步。

默认勾选立即运行MSYS2,单击完成。

当按下完成之后,会弹出打开一个 MSYS2 终端窗口。

在此终端中,通过输入以下命令并按回车键,安装 MinGW-w64 工具链:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
代码解读
出现这个界面,直接按回车键,默认接受所有的安装包。

当系统提示是否继续安装时,请输入y并回车。

之后就进入安装过程,稍等片刻。

当所有的包都安装好后,直接关闭终端。

启动MSYS2安装目录的操作步骤如下:首先定位到UCRT64文件夹,并进行访问;接着确定Bin文件夹,并进行访问;随后,在地址框内输入相应的路径信息即可完成操作。
如果一开始用默认路径,那路径就是C:\msys64\ucrt64\bin。

随后,在搜索栏内键入 设置系统环境变量 并单击以进入 编辑系统环境变量 的设置界面。

在系统属性的弹窗中,点击环境变量。

在弹出的环境变量弹窗中,找到用户变量的Path,并双击打开。

在编辑界面中打开环境变量窗口后,默认会显示当前的工作目录位置信息,在空白行处会出现一个输入框并带有闪烁光标,在此位置键入并粘贴广告复制的具体路径信息之后再点击确定按钮即可返回上层主界面

最后逐层弹窗点击确定按钮退出即可。

最后做一下测试,按组合键Win + r之后,输入cmd回车。

按下回车键后, 就能调出 CMD 的终端窗口. 接着依次输入如下所述的命令: 每一行指令完成后需按回车键确认.
gcc --version
g++ --version
gdb --version
代码解读
出现如下图一样的信息,就说明 C/C++ 的编译环境已经安装好。

四、配置 VS Code 的 C/C++ 编程运行环境
1. 汉化 VS Code(选做)
无需在C/C++编程运行环境中进行此配置环节;对于希望深入学习英文开发环境的同学或许并非必要。
鉴于此,在面对全英文开发环境时感到困难的问题并非限定于少数人。为了帮助大家更好地适应这种学习曲线,在这里提供了一个解决方案。
请先打开Visual Studio Code编辑器,并使用快捷方式选择以下任一操作路径:按下键盘上的Ctrl + Shift + X键组合(快捷方式一),或者直接单击左侧工具栏中的第五个图标(快捷方式二),即可进入其功能菜单。

将输入框中的内容设置为\text{Chinese}; 通过刷新操作显示相应的汉化插件; 单击相关按钮以完成安装过程.

安装完成后,在右下角方会出现提示信息,并带有点击此按钮将导致软件重新启动的功能。单击此按钮将触发该功能。

软件重启后,就是中文的界面了。

2. 安装 C/C++ 扩展包
在Extensions中搜索“C++”,列表第一个扩展包就是我们要的,点击安装即可。

[!TIP]
上图中的
C/C++ Extension Pack是 C/C++ 的扩展功能包,里面包含了一些项目管理和代码构建的工具,不是必要的扩展包,可以选择性安装。
五、测试 VS Code 的 C/C++ 编程环境
1. 创建代码文件夹
VS Code 赋予了以文件夹为中心进行代码编写与组织的能力。创建一个新的文件夹通常是用来组织同一项目下的多个代码文件的主要方式之一。然后,在 VS Code 中打开相应的项目文件夹即可开始工作。
我创建了一个命名为Code的标记目录,在其中创建了一个专门用于存放 C 语言代码的小目录。

注意
打开 VS Code,点击打开文件夹的按钮。

在弹窗中找到刚刚新建的C文件夹,选中文件夹,再点选择文件夹。

点击打开指定文件夹,在随后出现的新对话框里,请您勾选将‘ trust parent folder "Documents" 中的所有作者加入信任范围 ’。然后点击确认按钮,并表示我已经认可该作者

在添加完所有项目后,在左侧的资源管理窗口中会显示包含"C"前缀的代码包及其子目录结构。当将鼠标悬停在该目录上时会显示出四个功能按钮。从左到右依次具有如下作用:创建空白文档、建立新存储容器、重置所有缓存设置以及展开/折叠相关目录结构。

好了,做到这一步,接下来就可以进行代码的运行和调试了。
2. 单个 .c 文件的运行和调试
为了方便管理代码,我们先选中C文件夹,再点击新建文件夹按钮。

此处将在C文件夹的子目录中新增一个输入字段;为此,在当前目录中创建一个新的名为test的文件夹,用于存储测试数据。

鼠标右键test文件夹,在弹出的菜单中选择新建文件。

请在输入框中填写我们接下来要进行调试的代码文件名,并将其命名为test.c,请特别注意确保文件名以.c结尾。

接下来就可以输入一个调试程序了,我的代码如下:
#include <stdio.h>
int main()
{
for (int i = 0; i < 5; i++)
printf("Hello Grayson~%d\n", i);
return 0;
}
代码解读
编写完测试用例代码后执行右上角的调试按钮操作时,在界面上会打开调试程序的选择界面,在此界面中选择第一个选项即可启动编译器软件GCC(即前面提到的 GCC 编译器)。

这时文件就被编译并执行,如果在右下角弹出如下窗口,点击是即可。

运行结果如图所示。

为了方便执行断点调试,在程序代码编辑界面的行号前侧添加一个断点标志会非常实用。这样的操作相对便捷,用户只需单击鼠标左键在行号左侧的空白区域执行断点设置操作即可完成基本配置。如图所示,在第6行插入了第一个断点标记位置。

此时运行程序时, 搜索框下方会显示一个调试面板, 面板上共有六个按钮, 分别是Start(即Continue)、Step Through(即逐过程)、Step Debugging(即单步调试)、Step Out(即单步跳出)、Restart(即重启)以及Stop(即停止)。

[!IMPORTANT]
以下是 VS Code 中的 C 语言代码调试面板功能的解释:
- 继续 (Continue):继续执行程序,直到遇到下一个断点或程序结束。
- 逐过程 (Step Over):逐行执行当前行,如果当前行是函数调用,则进入该函数并执行完毕。
- 单步调试 (Step Into):逐行执行当前行,如果当前行是函数调用,则进入该函数并停在函数内的第一行。
- 单步跳出 (Step Out):执行完当前函数的剩余部分,并停在当前函数被调用的下一行。
- 重启 (Restart):重新启动程序的调试会话,即从程序的起点开始执行。
- 停止 (Stop):停止程序的调试会话,结束调试过程并关闭程序执行。
目前这个程序尚不能充分地体现这一系列的调试功能(至少逐步处理、逐一排查以及单独切换这三个方面尚不明显),因此,在后续的内容中我们将会采用另一个示例来进行展示。
3. 多个 .c 文件的运行与调试
为了对多个.c文件执行编译后的调试工作而需要进行一些配置调整。在完成一次编译操作后,在资源管理器中的C目录中新增了一个.vscode文件夹,在该文件夹内包含了名为tasks.json的一个JSON数据文件。

该文档旨在为项目提供各项功能的设置与管理方案。此文档包含JSON格式的任务列表与相关参数设置,在此界面中即可完成对系统核心功能的全局性调整。具体包括完成各项功能所需的命令与参数设置,请根据实际需求进行相应的字段填写与调整。
目前 VS Code 的运行效能尚显不够理想。通过双击操作打开指定的 tasks.json 文件以调整其编译与运行功能。如图所示的部分内容是对该 JSON 文件进行了简要说明。

取消了原有的$file标记,并新增了一个标记*.c以表示当前文件夹下所有.c类型的文件而非特定某一个..c文件。同时将$fileDirname\ $fileBasenameNoExtension.exe的相关注释取消并将其改为$fileDirname\ program.exe的形式,则所有修改后的.c文件编译生成的可执行文件名为.exe文件名统一为program.exe.

修改好后,按组合键Ctrl + s保存即可。
然后点击左侧的运行与调试,再点击创建launch.json文件。

搜索框会弹出选项,选择C++(GDB/LLDB)。

添加配置
随后 VS Code 将创建一个新的 JSON 文件。单击右侧的小标志板上的【添加配置

此时,在JSON文件中会出现新增配置信息;我们需要对下图中标注的红色框部分进行修改

请参考下图所示的配置界面,请注意以下几点:在'program'对应的部分就是tasks.json文件中编译完成后生成的实际可执行程序,在miDebuggerPath对应位置则是安装过程中生成MinGW-W64工具包中的gdb调试器路径设置。设置完成后将保持关闭状态。

[!NOTE]
在复制粘贴 gdb 的路径时,不少小伙伴会忽略掉下图所示的问题。反斜杠是转义字符的作用,应该像上图一样多加一个一个反斜杠才表示路径。

随后,在C目录中创建了一个新的子目录命名为test2,并在此子目录中新增了三个新的源代码文件:分别为test.c、max.h以及max.c。完成多份源代码编译与调试工作

代码如下:
max.h
#ifndef __MAX_H__
#define __MAX_H__
#include <stdio.h>
int findMaxNum(int num1, int num2);
#endif // __MAX_H__
代码解读
max.c
#include "max.h"
int findMaxNum(int num1, int num2)
{
return num1 > num2 ? num1 : num2;
}
代码解读
test2.c
#include <stdio.h>
#include "max.h"
int main()
{
int a = 10;
int b = 20;
int c = findMaxNum(a, b);
printf("%d\n", c);
return 0;
}
代码解读
编写完成后,在`test2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.ctest2.c文件的第八行设置断点,并在软件界面中的选项部分选择调试C/C++文件``功能进行操作

此段代码块依旧保持着原有的界面设计状态。
在您选择点击'继续'操作时,在执行该操作后(即跳转至下一个断点),我们的系统将直接运行至其结束并退出整个调试流程。
然而我们的系统仅设置了单个断点。
因此,在这种情况下(即只设置了一个断点),系统将直接运行至其结束并退出整个调试流程。

当执行该操作时,请注意以下几点:不会深入分析函数细节,并将展示运行结果;同时,在页面布局上会自动调整格式以适应内容。

当触发“单步调试”操作时,则引导程序深入目标函数体。再次进行“单步调试”操作将导致程序逐步推进直至返回上层调用位置。一旦深入至目标函数体内,则选择“单步跳出”选项将使程序携带当前执行结果立即返回到上层调用点。

参考资料
Using the Windows operating system, you can install Visual Studio Code.
C++编程与Visual Studio Code
C++编程与Visual Studio Code
《Introduction to C++ and the MinGW-w64 Development Environment within VS Code IDE》
