在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账号,我们一同成长!
(~ ̄▽ ̄)~

相关推荐
_OP_CHEN20 小时前
【Linux网络编程】(一)初识计算机网络:从独立主机到协议世界的入门之旅
linux·服务器·网络·网络协议·计算机网络·socket·c/c++
阿捏利2 天前
详解Mach-O(三十三)Mach-O __mod_term_func节
macos·ios·c/c++·mach-o
行者-全栈开发2 天前
Maven settings.xml 最全配置详解,看这一篇就够了
maven·本地仓库·依赖管理·开发环境搭建·maven 配置·镜像源配置·私有仓库认证
C蔡博士3 天前
VS Code+Claude Code+Deepseek
ai编程·vs code·deepseek·claude code
_OP_CHEN4 天前
【Linux系统编程】(四十五)线程池基础:日志系统设计与策略模式的优雅落地
linux·操作系统·线程池·进程·策略模式·c/c++·日志系统
_OP_CHEN4 天前
【Linux系统编程】(四十七)线程安全与线程锁深度解析:从概念到实战,避坑指南全掌握
linux·操作系统·线程池·进程·线程安全·c/c++·线程锁
_OP_CHEN4 天前
【MySQL数据库基础】(五)MySQL 数据类型深度解析:选对类型 = 性能拉满!
linux·开发语言·数据库·sql·mysql·数据类型·c/c++
_OP_CHEN4 天前
【MySQL数据库基础】(三)MySQL 库的核心操作全解析:创建、修改、备份一条龙搞定
linux·数据库·sql·mysql·c/c++·mysql操作·企业级组件
_OP_CHEN4 天前
【Linux系统编程】(四十六)线程池原理与实现:从固定线程池到线程安全单例模式
linux·单例模式·操作系统·线程池·进程·线程安全·c/c++