VSCode 中 C/C++ 安装、配置、使用全攻略:小白入门指南

news2025/6/6 22:27:37

引言

本文为Windows系统下安装配置与使用VSCode编写C/C++代码的完整攻略,示例机器为Windows11。
通过本文的指导,你可以成功在Windows 机器上上使用VSCode进行C/C++开发。

在文章开始之前,你可以先阅读下面这段话,以便于对步骤有个大致的了解:

  • 首先,从VSCode官网下载并安装VSCode,确保安装路径为全英文
  • 接着,下载并安装MinGW,以提供GCC等编译器,确保其路径也为全英文
  • 然后,配置MinGW的环境变量,使系统能够识别GCC编译器;
  • 最后,在VSCode中安装必要的C/C++插件,创建并编译一个简单的C++程序,验证配置的正确性。

文章目录

  • 引言
  • 一、VSCode下载安装
  • 二、MinGw下载安装
  • 三、MinGw配置环境变量
  • 四、VSCode编写/编译 C/C++代码
    • 汉化
    • C/C++插件安装
    • 测试与使用
    • 结语

一、VSCode下载安装

首先进入👉VSCode官网
或者直接网页搜索

进入之后,点击右上角的 Dowload在这里插入图片描述

然后点击如下图所示 第二个
(不要直接Windows下载按钮)
在这里插入图片描述
然后就可以看到正在下载了
下载完成之后进入下一步

注意:
VSCode的下载路径一定是要全英文的
VSCode的下载路径一定是要全英文的
VSCode的下载路径一定是要全英文的

不然的话后面编译的时候报错,再想改就比较麻烦了

二、MinGw下载安装

为什么需要MinGW?
因为Windows系统本身未内置C++编译器,而VSCode只是一个空壳,它是编辑器无编译功能,MinGW能提供GCC等编译器,可在Windows上实现C++代码编译

首先进入👉MinGW官网
然后根据下面的图片一步步操作,来下载
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

进入GitHub获取下载链接
在这里插入图片描述

注意
这里看好,不要下错了
要下载的版本是
x86 64-15.1.0-release-posix-seh-ucrt-rt_v12-rev0.7z
在这里插入图片描述

在这里插入图片描述
点击之后,等待下载完成即可
下载完成之后,建议把MinGW也放到和VSCode一个路径下,为了方便后面查找
MinGW的路径也必须是全英文的

三、MinGw配置环境变量

配置环境变量是为了让系统在任何路径下都能找到MinGW提供的编译器等工具,方便在命令行或编辑器中直接执行编译命令

首先,回到桌面
右击我的电脑,点击属性
在这里插入图片描述
然后点击高级系统设置
我这里是Windows11,Windows10的高级系统设置的位置可能略有不同
在这里插入图片描述
点击环境变量
在这里插入图片描述

在下方系统变量里
找到path变量 双击打开它

在这里插入图片描述

然后点击右上方 新建
在这里插入图片描述
这里将你的MinGW的bin文件的路径复制过去即可,如下图所示
这里最后再检查一下你的路径是否是全英文的

在这里插入图片描述

然后,返回到桌面,键盘按下win +R
呼唤出Windows的命令对话框
输入 cmd ,点击确定
在这里插入图片描述
输入 gcc -v
在这里插入图片描述
在这里插入图片描述
在命令行中执行gcc -v 能正常输出版本等相关信息 ,包括 GCC 版本号(这里是 15.1.0 )、目标架构(x86_64-w64-mingw32 )、配置选项、线程模型(posix )等内容,说明系统已识别到 GCC 编译器,也就意味着 MinGW 安装是有效的,可以用来进行 C/C++ 等语言的编译工作

常见问题如果提示"不是内部或外部命令",请检查:

  • 环境变量是否配置正确
  • 是否重启了命令行窗口
  • 路径是否包含中文或特殊字符

至此,MinGw的环境变量配置成功

四、VSCode编写/编译 C/C++代码

接下来,打开VSCode

汉化

点击左边的扩展搜索Chinese - 安装汉化插件
(我这里是已经安装好了)
在这里插入图片描述

C/C++插件安装

我们还需要安装三个插件来帮助我们高效的敲代码

  • C/C++ :提供代码智能补全、语法高亮、错误检查、调试支持等功能 ,助力高效开发 C/C++ 程序,还支持跨平台开发及远程代码编辑调试。
  • C/C++ Themes:不涉及代码功能实现,提供一系列专为 C/C++ 开发优化的颜色主题,可减轻长时间编码视觉疲劳,便于通过颜色区分代码结构,提升编码体验。
  • C/C++ Extension Pack :是一个扩展包集合,包含 C/C++ 等常用扩展,安装它相当于一站式安装多个对 C++ 开发有用的扩展,涵盖代码编辑、调试、主题等多方面支持 。

安装下图三个插件
在这里插入图片描述

测试与使用

在本地你的代码保存路径下,创建一个文件夹来保存系列代码(最好是全英文路径,避免不必要的麻烦)
然后,在VSCode,点击左上角文件–打开文件夹
在这里插入图片描述
再点击 新建文件夹
创建一个你准备存储这次代码文件的文件夹
在这里插入图片描述
右键 点击新建的文件夹
点击 新建文件
这里的文件类型取决于你的文件后缀
比如我这里以.cpp为后缀 就是C++文件
在这里插入图片描述
然后随便编写一段测试代码
在这里插入图片描述

点击所图所示的 调试/运行
点击 调试C/C++文件
在这里插入图片描述
然后在上面弹出来的选择框里
因为这里是C++文件,
所以 选择g++ 编译

在这里插入图片描述
之后,看到终端输出 hello world
就表示可以正常编译了
在这里插入图片描述

至此,大功告成
你的VSCode已经可以完成基础的编辑/编译/运行了
其他更多的功能,比如其他插件,主题、字体、颜色、背景等
可以自己慢慢探索

结语

通过本指南,您已成功配置了 VSCode 的 C/C++ 开发环境。接下来可以:

  • 探索更多 VSCode 功能(如 Git 集成、代码片段等)
  • 学习现代 C++ 特性(C++11/14/17/20)
  • 尝试构建更复杂的项目

如有任何问题,欢迎在评论区留言讨论。如果本指南对您有帮助,请点赞收藏支持作者!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2400685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重温经典算法——希尔排序

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 基本原理 希尔排序是插入排序的改进版,通过按增量分组并逐步缩小增量实现排序。时间复杂度取决于增量序列,平均约为 O(n log n) 到 O(n^(3/2))&…

CortexON:开源的多代理AI系统无缝自动化和简化日常任务

简介 CortexON是一个开源的多代理AI系统,灵感来自Manus和OpenAI DeepResearch等高级代理平台。CortexON旨在无缝自动化和简化日常任务,擅长执行复杂的工作流程,包括全面的研究任务、技术操作和复杂的业务流程自动化。 技术架构 CortexON的技…

海信IP810N-海思MV320芯片-安卓9-2+16G-免拆优盘卡刷固件包

海信IP810N-海思MV320芯片-安卓9-216G-免拆优盘卡刷固件包 线刷方法:(新手参考借鉴一下) 1.准备一个优盘,最佳是4G,卡刷强刷刷机,用一个usb2.0的8G以下U盘,fat32,2048块单分区格式化…

2025年6月4日收获

Authorization Authorization是一种通用的、标准化的权限控制和认证的通用框架,它能够使跨系统和跨域的身份验证和授权管理更容易,使不同应用程序之间能够更轻松地实现单点登录(SSO)、用户身份验证和授权控制等。 在前端使用 axi…

leetcode hot100 链表(二)

书接上回: leetcode hot100 链表(一)-CSDN博客 8.删除链表的倒数第N个结点 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* currhead;int len0;while(curr){currcurr->next;len;}int poslen-n…

6. MySQL基本查询

1. 表的增删改查 Create(创建), Retrieve(读取), Update(更新), Delete(删除) 2. Create & Insert 语法: insert [info] table_name () values () 2.1. 案例: 创建一个学生表 指定列单行插入, 如果values前省略, 则默认是全属性插入多行指定列插入, 中间分隔符为, 3. 插入替…

CMS32M65xx/67xx系列CoreMark跑分测试

CMS32M65xx/67xx系列CoreMark跑分测试 1、参考资料准备 1.1、STM32官方跑分链接 1.2、官网链接 官方移植文档,如下所示,点击红框处-移植文档: A new whitepaper and video explain how to port CoreMark-Pro to bare-metal 1.3、测试软件git下载链接 …

中国区域30m/15天植被覆盖度数据集(2010-2022)

时间分辨率:日空间分辨率;:10m - 100m共享方:式开放获取数据大小:2.98 TB数据时间范围:2010-01-01 — 2022-12-31元数据更新时间:2024-12-23 数据集摘要 高时空分辨率的植被覆盖度产品存在着广…

力扣HOT100之二分查找:74. 搜索二维矩阵

这道题直接a了,我们可以参考上一道题:35.搜索插入位置的思路,详情见我的上一篇博客。将每一行的第一个元素当作一个数组中的元素,然后对这个数组进行二分查找,如果直接找到了target,则直接返回true&#xf…

编程技能:格式化打印04,sprintf

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:格式化打印03,printf 回到目录…

R语言基础| 下载、安装

在此前的单细胞教程中,许多小伙伴都曾因为R语言基础不足而十分苦恼。R语言是一种开源的编程语言和软件环境,专门用于统计分析、图形表示和数据挖掘。它最初由Ross Ihaka和Robert Gentleman在1993年创建,旨在为统计学家和数据分析师提供一个广…

微软的新系统Windows12未来有哪些新特性

在今年即将到来的重大设计升级中,苹果计划对其全线操作系统统一按年份命名,作为另一巨头微软的win12还远吗?win11和win10是微软现在正在用的主流版本,win11系统发布于2021年6月24日,win10系统发布于2015年7月29日。预计win12尝鲜版可能在2025年下半年或明年。 尽管win12还…

在虚拟宇宙中低语——进程间通信,Linux命名管道的前世今生

文章目录 🌌 序章🌠 一、命名管道的宿命与哲学1.1、创建及简单使用1.2、命名管道的工作原理1.3、命名管道与匿名管道的区别 2、命名管道的特点及特殊场景2.1、特点2.2、四种特殊场景 3、命名管道实操3.1、实现文件拷贝3.2、实现进程控制 小结 &#x1f3…

STM32的ADC简介

一、ADC简介 STM32的ADC是一种12位逐次逼近型模拟数字转换器。它具备18个通道,能够测量16个外部信号源以及2个内部信号源。各通道的A/D转换可以执行单次、连续、扫描或间断模式。转换结果可采用左对齐或右对齐的方式(12位)存储于16位数据寄存…

Bash shell四则运算

文章目录 四则运算1. ‌expr 命令‌2. ‌$(( )) 表达式(推荐)‌3. ‌$[ ] 表达式(已弃用)‌4. ‌let 命令‌小数运算i 和 i 区别 四则运算 算术运算: - * / %(取模,求余数) Bash sh…

(javaSE)Java数组进阶:数组初始化 数组访问 数组中的jvm 空指针异常

数组的基础 什么是数组呢? 数组指的是一种容器,可以用来存储同种数据类型的多个值 数组的初始化 初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。 数组初始化的两种方式:静态初始化,动态初始化 数组的静态初始化 初始化…

力扣刷题Day 70:在排序数组中查找元素的第一个和最后一个位置(34)

1.题目描述 2.思路 方法1(自己写的):一次二分查找找到等于target的一个元素索引axis,然后向左右延伸找边界。 方法2(灵茶山艾府佬的闭区间二分查找写法):定义一个lower_bound()函数找到第一个…

图片压缩工具 | 图片属性详解及读取解析元数据

ℹ️ 图片信息及属性 基本属性 格式类型:JPEG、PNG、GIF、WEBP、BMP、TIFF等文件大小:以KB、MB等为单位的存储空间占用创建/修改日期:文件的元数据时间戳 视觉属性 尺寸/分辨率 宽度(像素)高度(像素&…

C# Onnx 动漫人物人脸检测

目录 效果 模型信息 项目 代码 下载 参考 效果 模型信息 Model Properties ------------------------- stride:32 names:{0: face} --------------------------------------------------------------- Inputs ------------------------- name&am…

C++内存列传之RAII宇宙:智能指针

文章目录 1.为什么需要智能指针?2.智能指针原理2.1 RAll2.2 像指针一样使用 3.C11的智能指针3.1 auto_ptr3.2 unique_ptr3.3 shared_ptr3.4 weak_ptr 4.删除器希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 智能指针是 C 中用于自动…