在VSCode中搭建C/C++开发环境

目录

  • [一、VSCode 是什么?](#一、VSCode 是什么?)
  • [二、VSCode 的下载和安装](#二、VSCode 的下载和安装)
  • [三、VSCode 插件推荐](#三、VSCode 插件推荐)
  • [四、下载和配置 MinGw-w64 编译器套件](#四、下载和配置 MinGw-w64 编译器套件)
  • 五、在VSCode上编写C代码并编译
    • [5.1 创建文件夹并编写代码](#5.1 创建文件夹并编写代码)
    • [5.2 编译和执行代码](#5.2 编译和执行代码)
    • [5.3 编译新的代码](#5.3 编译新的代码)
  • [六、VSCode 编译多个 .c 文件](#六、VSCode 编译多个 .c 文件)
    • [6.1 修改 tasks.json 中的内容](#6.1 修改 tasks.json 中的内容)
  • 七、在VSCode上编写C++代码并编译
    • [7.1 编译和执行代码](#7.1 编译和执行代码)
  • [八、在 VSCode 上调试代码](#八、在 VSCode 上调试代码)

个人主页:矢望

个人专栏:C++LinuxC语言数据结构Coze-AI

一、VSCode 是什么?

Visual Studio Code(简称VS Code)是一款由微软开发的免费、开源、跨平台代码编辑器 ,因其启动快速、内存占用低 且功能强大而成为全球最受欢迎的开发工具。它通过内置的智能代码补全、语法检查、Git版本控制 以及集成终端 等核心功能,极大地提升了编写代码的效率;同时,其丰富的插件生态系统 允许用户根据需求定制开发环境,支持从Python、JavaScriptC++等几乎所有编程语言。无论是用于编程学习、网页开发、数据分析,还是作为Markdown文档编辑器,VS Code都能凭借其轻量级与高扩展性,满足从初学者到专业开发者的多样化需求。

二、VSCode 的下载和安装

官网下载地址https://code.visualstudio.com/Download(点击跳转)。
下载太慢,推荐文章 :(点击跳转)。

VSCode获取之后的安装过程就很简单了,注意你想要安装到的路径。

安装完成打开VSCode之后你就会看到下面的页面,它们具体是什么也已表明。

首先刚下载时,它是英文模式下的,所以推荐安装中文插件,在左侧插件栏目搜索Chinese,然后安装相关插件,安装完成之后重启VSCode就可以了。

汉化之后的VSCode

三、VSCode 插件推荐

  • 免配置的插件

1、Remote - SSH - 远程登录Linux

2、C/C++ - 必装

3、C/C++ Extension Pack - C/C++扩展包,下载直接安装,它包含了 vscode 编写C/C++ 工程需要的插件(C/C++、C/C++ Themes、CMake、CMake ToolsBetter C++ Syntax等),和以前比不需要一个个找了

4、C/C++ Themes - 主题设置,插件里面可以点击设置

5、Chinese (Simplified) (简体中文),上面已经说过了

6、vscode-icons - 改变编辑器里面的文件图标

7、filesize - 左下角显示源文件大小的插件

8、Include AutoComplete - 自动头文件包含

9、GBKtoUTF8 - 自动将 GBK 转换为 UTF8

  • 需要配置的插件

koroFileHeader - 头部注释添加/更新插件,参考文章点击跳转

四、下载和配置 MinGw-w64 编译器套件

VSCode本身只是一个轻量级的文本编辑器 ,不具备编译和调试代码的能力,因此在Windows系统上编写C/C++程序时,需要安装和配置MinGW-w64套件来为其提供这一核心功能。MinGW-w64Linux下的GCC编译器(g++)和GDB调试器等工具移植到了Windows平台,让你可以直接在VSCode中通过命令将编写的源代码编译成可执行的.exe文件,并能对程序进行调试。

下载官网链接:MinGW-w64 - for 32 and 64 bit Windows Files

进入官网后选择Toolchains targetting Win64

再选择 Personal Builds

再选择 mingw-builds

再选择8.1.0

进入 threads-posix,再进入seh就可以看到安装包了。

如果想体验对更新的C++标准(如C++17、C++20)更好的支持,也可以在同路径下选择更新的版本,比如 13.2.014.2.0。选择posix线程模型和seh异常处理模型的组合是不变的。

如果实在找不到也可以到这个博客进行下载:https://blog.csdn.net/ftimes/article/details/109723250(点击跳转)。

下载好后安装解压,建议放到某个盘的根目录下,切记路径里不要有中文,之后要进行环境变量的配置,文件夹由中文命名容易找不到路径。

解压缩完成之后是这样的:

紧接着就是在环境变量中添加gcc所在的路径,你的gccbin目录中。

电脑上在菜单搜索环境变量就会出现。

如上图,点击之后,再次点击环境变量找到Path,进去之后添加你的bin目录所在的路径。

接着配置完成之后,检测是否添加成功,win+R进入cmd进入命令行窗口,输入下面的指令。

如上图,出现这个情况证明已经添加完成。

接下来就是安装之前推荐的C/C++插件。

安装完成后记得重启VSCode

五、在VSCode上编写C代码并编译

5.1 创建文件夹并编写代码

VSCode上写代码首先是需要文件夹 的,有一个文件夹也方便管理代码和编译器产生的可执行程序和VSCode生成的配置文件等等。

在写代码之前,要先想清楚自己想把代码放在哪个分区下,比如C盘、E盘等等。然后创建文件夹统一管理。

这里我在E盘下创建一个code的文件夹,将之后写的代码管理在这个文件夹中。

在我们写代码之前创建好文件夹,如上图所示。接下来我们使用VSCode打开这个文件夹。

之后凡是出现是否信任的,都选择我信任。

接下来我们新建文件并命名为test.c来编写代码。

5.2 编译和执行代码

这里我们写完代码之后,接下来肯定是编译运行代码。

在编译运行代码之前,我们需要先设置C/C++编译的选项:c_cpp_properties.json

鼠标点在.c的源文件内部(就是右侧的编辑区域),按ctrl+shift+p快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面。如果默认没有显示就手动搜索一下。

接下来,配置编译器路径,将它换成你安装的MinDW-w64目录下的gcc的路径。

接下来配置IntelliSense模式为gcc-x64(legacy)

配置完成之后,再看你的左边栏就默认增加了一个文件夹.vscode,这个文件夹里边放的都是配置文件,以后是可以复用的。同时你看到在.vscode文件夹下生一个新的文件c_cpp_properties.json,这个文件中是关于C/C++的配置属性。

扩展 :如何复用? 当你完成一个项目的配置后,可以直接将整个 .vscode 文件夹复制到另一个新的C/C++项目根目录下。这样新项目会自动继承你之前配置好的所有设置,无需重新配置。

紧接着就需要创建执行任务tasks.json,在菜单栏中点击终端项,选择配置任务。注意鼠标依旧要在.c的源文件内部。选择 C/C++:gcc.exe 生成活动文件。

这时候你的左边栏就生成了tasks.json文件,这个文件是专门是用来执行代码的编译任务的。

最后就是编译运行代码了,编译时,鼠标点在要编译的.c源代码中,然后执行菜单栏里的终端选项的运行生成任务。

当执行之后,你会发现左边栏多了一个可执行程序。

那么如何执行这个可执行程序呢? 按键盘的ctrl+` 快捷键,打开VSCode自带的终端,然后输入.\XXX.exe就可以运行代码了。

5.3 编译新的代码

如果想要写新的代码,这里有几种方法。

  • 方法一:新建文件,编写新的代码。

编写完成之后,鼠标点在这个文件的里面,依旧按照前面的编译方式编译,编译完成后运行即可。

运行程序:

  • 方法二:新建文件夹进行编写、编译文件。

打开新的文件夹test_2,将我们上一个文件夹的.vscode文件夹拷贝到当前文件夹下,实现复用。

编写代码,并编译运行代码。

六、VSCode 编译多个 .c 文件

假设现在有一个文件夹,里面有多个.c文件,那么怎么去编译呢?

上图中的.vscode还是我们之前的.vscode文件。

6.1 修改 tasks.json 中的内容

要想编译多个.c文件需要对tasks.json文件进行修改。

  • 编译多个源代码文件

${file}修改为${workspaceFolder}\\*.c,可以构建当前工作区中的所有C文件。

${file}修改为${workspaceFolder}\\*.cpp,可以构建当前工作区中的所有C++文件。

  • 修改编译之后的可执行文件名

${fileDirname}\\${fileBasenameNoExtension}.exe修改为${workspaceFolder}\\${workspaceFolderBasename}.exe可以将最终程序修改成使用项目的文件夹名命名。或者可以使用硬编码给成你想要的名称如${workspaceFolder}\\我的项目.exe

如上图,修改完成之后,按照之前的方式编译运行。

七、在VSCode上编写C++代码并编译

7.1 编译和执行代码

首先,在编译运行代码之前,依旧需要先设置C/C++编译的选项:c_cpp_properties.json

鼠标点在.cpp的源文件内部(就是右侧的编辑区域),按ctrl+shift+p快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面。如果默认没有显示就手动搜索一下。

我们之前的配置名称叫做Win32,这里为了区分可以取名为C++,它只是一个标签,用来标识不同的配置方案,方便你在多个配置之间切换。

编译器这里我们选择g++

接下来配置IntelliSense模式为gcc-x64(legacy),这个和之前一样。

设置完成之后,在c_cpp_properties.json文件中,我们就可以发现多了一个C++的配置方案,如下图所示。

紧接着就需要创建执行任务tasks.json,在菜单栏中点击终端项,选择配置任务。注意鼠标依旧要在.cpp的源文件内部。选择 C/C++:g++.exe 生成活动文件。

此时,在tasks.json文件中我们就发现多了一个g++的编译配置信息,如下图所示。

紧接着就是编译运行了,这里编译的时候记得选择g++活动文件。

运行:

编译多个源文件的方法和C代码相同,这里就不重复赘述了。

八、在 VSCode 上调试代码

VSCode上调试代码也是依赖一个配置文件的,它叫做launch.json

首先就是创建launch.json文件。点击最左侧的调试板块,然后创建文件。

之后选择GDB

之后选择添加配置,勾选gdb启动。

默认的文件中的内容会是这样的,其中有些部分需要更改。

这个要调试的程序名称需要更改,我们回想一下,之前在tasks.json里面有一个最终生成的可执行程序的名称,可以将哪里的东西粘贴到这里。

还有就是路径问题,我们之前不是配置过bin的路径吗,我们的gdb也在那个路径里面,所以可以复制到这里来。

最终修改后的文件内容:

:使用双斜杠的原因,在 JSON 中,反斜杠 \ 是一个特殊字符,用来表示转义序列(如 \n 表示换行,\t 表示制表符)。如果想让 JSON 解析器理解你想要的是一个真正的反斜杠字符本身,就必须写成 \\

VSCode 中使用 GDB 进行调试的快捷键如下:

操作 快捷键 功能说明
开始/继续调试 F5 启动调试或让程序继续运行到下一个断点
停止调试 Shift + F5 结束当前调试会话
重启调试 Ctrl + Shift + F5 重新启动调试
设置/取消断点 F9 在当前行切换断点状态
逐过程 F10 执行当前行,不进入函数内部
逐语句 F11 执行当前行,进入函数内部
跳出 Shift + F11 执行完当前函数剩余部分,返回到调用处

想要进行调试,就进行编译形成可执行程序,然后按F5即可。
注意 :进行调试之前记得先加断点,加了断点 ,程序会在断点处暂停,你可以一步步观察变量值、执行流程。

总结:
以上就是本期博客分享的全部内容啦!如果觉得文章还不错的话可以三连支持一下,你的支持就是我前进最大的动力!
技术的探索永无止境! 道阻且长,行则将至!后续我会给大家带来更多优质博客内容,欢迎关注我的CSDN账号,我们一同成长!
(~ ̄▽ ̄)~

相关推荐
formulahendry14 小时前
我开发的 ACP Client,被 LangChain 官方推荐了!轻松连上 Claude、Codex、Copilot、OpenClaw 等任意 Agent
visual studio code·vs code·acp
formulahendry8 天前
王炸!VS Code 悄悄推出 Sessions App,全新的 Agentic 开发体验!
visual studio code·vs code·acp
闻道且行之9 天前
libhv 安装与使用全流程教程
c++·http·socket·libhv·c/c++
十年编程老舅12 天前
Linux DMA 技术深度拆解
linux·网络·linux内核·dma·c/c++·内存访问
bkspiderx13 天前
解决VS Code锁定编辑器组导致跳转定义/声明自动拆分编辑器问题
编辑器·vs code·锁定编辑器·跳转定义/声明自动拆分编辑器
_OP_CHEN17 天前
【MySQL数据库基础】(六)MySQL 表的约束详解:从基础到实战,拿捏数据合法性!
linux·数据库·mysql·c/c++·表约束·mysql表
_OP_CHEN18 天前
【Linux网络编程】(二)计算机网络概念进阶:彻底搞懂协议本质、传输流程与封装分用
linux·运维·服务器·网络·网络协议·计算机网络·c/c++
_OP_CHEN22 天前
【Linux网络编程】(一)初识计算机网络:从独立主机到协议世界的入门之旅
linux·服务器·网络·网络协议·计算机网络·socket·c/c++
阿捏利23 天前
详解Mach-O(三十三)Mach-O __mod_term_func节
macos·ios·c/c++·mach-o