【Tools】如何在VSCode上使用C++ 保姆教程

news2024/11/29 6:38:26

VSCode(Visual Studio Code)是一款轻量级的代码编辑器,拥有丰富的插件生态系统,支持多种语言开发。在本文中,将介绍如何在 VSCode 中配置 C++ 环境,以便于开发和调试 C++ 代码。

VSCode 具有以下优势:

  • 轻量级:相比于其他 IDE,VSCode 占用的资源更少,启动更快。
  • 插件丰富:VSCode 拥有丰富的插件生态系统,可以满足不同开发者的需求。
  • 跨平台:VSCode 支持在 Windows、macOS 和 Linux 上运行。
  • 集成 Git:VSCode 内置 Git 支持,方便代码版本控制。

1、下载VSCode Visual Studio Code - Code Editing. Redefined

在这里插入图片描述

2、下载c++扩展

在这里插入图片描述

3、滚到描述下面,点击 GCC and Mingw-w64 on Windows

在这里插入图片描述

4、点击 MSYS2

在这里插入图片描述

5、下载

在这里插入图片描述

6、下载完成后,双击打开进行安装。跟随网页MSYS2上的步骤一步一步做。(建议安装路径不要更改选择默认路径

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7、安装完打开 MSYS2 UCRT64,然后继续跟着网页版教程。首先输入:

pacman -S mingw-w64-ucrt-x86_64-gcc

在这里插入图片描述
输入Y,按下Enter继续
在这里插入图片描述
等待安装完毕
在这里插入图片描述
安装完成
在这里插入图片描述

8、安装完成后,输入:

gcc --version

在这里插入图片描述

9、回到 Get Started with C++ and Mingw-w64 in Visual Studio Code,继续输入:

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

在这里插入图片描述
回车默认就行,然后输入Y,再回车
在这里插入图片描述
等待安装完毕
在这里插入图片描述

10、使用以下步骤将 MinGW-w64 文件夹的路径添加bin到 Windows环境变量PATH中

a、在 Windows 搜索栏中,键入“设置”以打开“Windows 设置”。
b、搜索编辑您帐户的环境变量。
c、在系统变量中,选择Path变量,然后选择编辑。
d、选择新建并将您在安装过程中记录的 MinGW-w64 目标文件夹添加到列表中。如果您使用上面的默认设置,那么这将是路径:C:\msys64\mingw64\bin。
f、选择“确定”保存更新的路径。您需要重新打开所有控制台窗口才能使新的 PATH 位置可用。

11、安装完成后,关闭 MSYS2 UCRT64,打开 cmd,依次输入:

gcc --version
g++ --version
gdb --version

在这里插入图片描述
显示以上内容即为安装成功。

12、打开vscode,选择创建好存放C++代码的文件夹(即工作区),选择“是,我信任作者”接受“工作区信任”对话框

在这里插入图片描述

13、编写测试代码,点击 Run C/C++ File

在这里插入图片描述

14、选择 C/C++: g++.exe从系统上检测到的编译器列表中生成和调试活动文件。请记住,C++扩展使用计算机上安装的C++编译器来生成程序。

在这里插入图片描述
都选择 Yes
在这里插入图片描述
然后按编辑器右上角的运行按钮运行代码,构建成功后,程序的输出将显示在集成终端中。
在这里插入图片描述
注意:只有在第一次运行时才会要求您选择编译器。此编译器将在文件中设置为“默认”编译器。

15、打开vscode,Ctrl + Shift + P,输入 edit configurations,打开 Edit Configurations (UI)

在这里插入图片描述

16、将 Compiler path 改为 C:/msys64/mingw64/bin/g++.exe (这就是为什么建议选择默认路径安装,不然容易找不到)

在这里插入图片描述

17、IntelliSense mode 改为 windows-gcc-64

在这里插入图片描述

在这里插入图片描述

18、安装 Code Runner,设置功能:每次清除上一次运行,和取消运行消息。

在这里插入图片描述
左下角打开 设置 > Extensions > Run Code configuration > 勾选 Clear Previous Output
在这里插入图片描述

在这里插入图片描述
继续滚动到下面,直到看到 Show Execution Message,取消勾选
在这里插入图片描述
最终运行看到的效果为:
在这里插入图片描述

在这里插入图片描述
备注:
在工作区的文件夹.vscode中的三个文件:
tasks.json (构建说明)
settings.json(调试器设置)
c_cpp_properties.json(编译器路径和智能感知设置)

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

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

相关文章

山寨能走多远?盗版还是盗火?KCC@深圳活动圆满举办

2023.8.19 ,我们组织了一场大家期待已久的线下活动: KCC深圳:Kickoff & 读书会Meetup 来了深圳都是深圳人,没有哪座城市能够像深圳代表中国改革开放的发展历程,年轻、上进、有活力、拥抱新事物,同样&am…

Java版本企业工程行业管理系统源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1…

直接接入电商API接口实现调用封装好的商品详情SKU数据参数及返回

什么是API? API全称为Application Programming Interface,中文是应用程序编程接口。它其实是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工…

02_瑞萨GUI(LVGL)移植实战教程之创建第一个工程并适配串口打印功能

本系列教程配套出有视频教程,观看地址:https://www.bilibili.com/video/BV1gV4y1e7Sg # 2. 创建第一个工程适配串口打印功能 本次实验我们通过创建一个简单的工程,在其基础上完成串口打印功能,从而熟悉 e2stduio(Rene…

linux系统中固化和更新uboot、zImage和dtb方法(经典)

​ 大家好,今天给大家介绍一下imx6ull固化和更新uboot、zImage和dtb方法总结,希望这篇文章对大家有所帮助。 进行固化和更新的前提,uboot.imx、zImage、imx6ull.dtb和rootfs已经编译好,并且能成功启动和挂载。 在讲解imx6ull固…

2023年8月Web3行业月度发展报告区块链篇 | 陀螺科技会员专享

8月,加密市场的核心叙事未变,仍旧围绕比特币现货ETF展开,无论是美国最大支付机构Paypal发布稳定币或是月底灰度胜诉SEC,均以此为利基推动市场的局部回升,月底灰度案一度刺激BTC拉升至28000美元。但由于SEC方面态度表现…

linux系统中u-boot命令的EMMC和SD卡操作命令分析

​今天给大家详细的介绍一下u-boot命令之EMMC和SD卡操作的mmc命令使用。希望这篇文章对大家有所帮助。 uboot 支持 EMMC 和 SD 卡,因此也要提供 EMMC 和 SD 卡的操作命令。一般认为 EMMC和 SD 卡是同一个东西,所以没有特殊说明,统一使用 MMC …

C#__基本的读写文件方式

// 代码注释 class Program{/// <summary>/// Path类&#xff1a;/// 不能实例化&#xff1b;提供了一些静态方法&#xff0c;更容易对路径名执行操作&#xff1b;(有兴趣可以自行了解)/// /// 读写文件&#xff1a;File类/// </summary>/// <param name"…

动态库的制作与使用及 动态库加载失败解决

加载动态库时有时会出现error while loading shared libraries&#xff1a;libcalc.so:可以通过lld命令查看动态库的依赖关系&#xff0c;发现libcalc.so时not found 原因 查找的优先级是DT_RPATH->LD_LIBRARY_PATH->/etc/ld.so.cache->/lib/,/usr/lib 找不到一个优…

macos系统综合清理优化 MacCleaner 3 Pro激活中文最新版

MacCleaner 3 Pro是一款用于优化和清理Mac系统的工具。它提供了一系列功能&#xff0c;旨在帮助用户清理无用文件、优化系统性能并保护隐私。 MacCleaner 3 Pro主要功能&#xff1a; 磁盘清理&#xff1a;该工具可以扫描和清理Mac硬盘上的无用文件和垃圾文件&#xff0c;包括…

【数据结构--二叉树】合并二叉树

/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/struct TreeNode* mergeTrees(struct TreeNode* root1, struct TreeNode* root2){if(root1NULL&&root2NULL)//两个二叉树都…

C语言课程作业

本科期间c语言课程作业代码整理&#xff1a; Josephus链表实现 Josephus 层序遍历树 二叉树的恢复 哈夫曼树 链表的合并 中缀表达式 链接&#xff1a;https://pan.baidu.com/s/1Q7d-LONauNLi7nJS_h0jtw?pwdswit 提取码&#xff1a;swit

【文字到语音的论文总结】

1.文字到语音的整个过程 文字到语音的一般整体结构 主要是下面这个流程&#xff0c;每个网络可能会把其中两者或是三者融合在一起来&#xff1b; 长度不同的问题 生成的语音可能和文字的长度并不一样&#xff0c;因此需要解决这个问题 Tactron使用的是交叉注意力的方式解…

无涯教程-JavaScript - IMREAL函数

描述 IMREAL函数以x yi或x yj文本格式返回复数的实系数。 语法 IMREAL (inumber)争论 Argument描述Required/OptionalInumberA complex number for which you want the real coefficient.Required Notes Excel中的复数仅存储为文本。 当将格式为" a bi"或&q…

CH06_第一组重构(下)

封装变量&#xff08;Encapsulate Variable | 132&#xff09; 曾用名&#xff1a;自封装字段&#xff08;Self-Encapsulate Field&#xff09; 曾用名&#xff1a;封装字段&#xff08;Encapsulate Field&#xff09; let defaultOwner {firstName: "Martin", la…

Pointpillar 论文解读

Pointpillar 论文解读 主要贡献&#xff1a; 这篇文章的主要贡献在于 “Fast Encoder”, 也就是将点云稠密的Pillar(上文提到2847个)**输入给网络,**这才是这篇论文的精髓所在, 这大大提升了识别速度, 论文写可以达到62Hz.仅使用2D卷积层进行端到端学习PointPillars uses a n…

攻防世界题目练习——Web难度1(二)

题目目录 1. fileinclude2. fileclude3. easyphp4. file_include5. unseping 1. fileinclude 一道文件包含题&#xff0c;对文件包含还是不太懂&#xff0c;直接看flag.php文件什么都没有。 根据WriteUp提示先f12查看源码&#xff0c;发现了文件包含的漏洞点lan.php文件&#…

【LeetCode75】第五十题 无限集中的最小数字

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 这是我们在LeetCode75里遇到的第二道设计类题目&#xff0c;难度比上一次的设计题目要难上一些。 题目假设我们拥有一个从1开始的无限集…

Vivado XADC IP核 使用详解

本文介绍Vivado中XADC Wizard V3.3的使用方法。 XADC简介 XADC Wizard Basic Interface Options&#xff1a; 一共三种&#xff0c;分别是AXI4Lite、DRP、None。勾选后可在界面左侧看到相应通信接口情况。Startup Channel Selection Simultaneous Selection&#xff1a;同时监…

小米将推出中端手机,高通骁龙7系列再添一员,能否吸引消费者?

小米将于近日推出一款新的中端智能手机&#xff0c;该手机将搭载全新的处理器——骁龙SM7550。这个代号为“Crow”的处理器引起了广泛的关注和猜想&#xff0c;因为它是高通骁龙7系列的一员&#xff0c;但性能可能低于7 Gen 2&#xff0c;那么它的亮点和面向用户群体是什么呢&a…