【集成开发环境】-VS Code:C/C++ 环境配置

news2024/12/28 20:57:36

简介

VS Code,全称Visual Studio Code,是一款由微软开发的跨平台源代码编辑器。它支持Windows、Linux和macOS等操作系统,并且具有轻量级、高效、可扩展等特点,深受广大开发者的喜爱。

VS Code拥有丰富的功能特性,包括强大的代码编辑能力、智能代码补全、语法高亮、代码片段、调试支持等。它还内置了Git版本控制系统,方便开发者进行代码的版本管理和协作。此外,VS Code还支持各种主流的开发语言和框架,如JavaScript、TypeScript、Python、C++、Java等,并且可以通过安装扩展来支持更多的语言和框架。

VS Code的界面简洁明了,操作便捷。它提供了丰富的快捷键和自定义设置选项,让开发者可以根据自己的习惯和需求来调整编辑器的功能和外观。同时,VS Code还具有良好的性能表现,即使在处理大型项目时也能保持流畅的运行速度。

总的来说,VS Code是一款功能强大、易于使用、可扩展性好的集成开发环境,适用于各种规模和类型的软件开发项目。无论你是初学者还是资深开发者,都可以尝试使用VS Code来提升你的编程效率和体验。

优点

VS Code的优点主要体现在以下几个方面:

  1. 轻量级且快速:VS Code安装包小,启动速度快,占用内存低,使得开发者可以迅速进入工作状态,无需等待长时间的加载和启动过程。

  2. 强大的编辑功能:VS Code提供了丰富的编辑功能,如语法高亮、智能代码补全、代码片段、自定义快捷键等,这些功能大大提升了代码编写的效率和准确性。

  3. 出色的调试支持:VS Code内置了强大的调试工具,支持断点设置、变量查看、调用堆栈跟踪等功能,使得开发者可以方便地进行代码调试和错误排查。

  4. 丰富的扩展生态:VS Code支持大量的扩展插件,几乎覆盖了所有主流的开发语言和框架。开发者可以根据自己的需求安装相应的插件,进一步扩展VS Code的功能。

  5. 良好的跨平台兼容性:VS Code可以在Windows、Linux和macOS等多个操作系统上运行,为开发者提供了极大的便利性和灵活性。

  6. 集成版本控制:VS Code内置了Git版本控制系统,使得开发者可以方便地进行代码的版本管理和协作。

  7. 高度可定制性:VS Code允许开发者根据自己的习惯和喜好进行个性化设置,如调整界面主题、字体大小、快捷键等,从而打造出符合自己需求的开发环境。

对比

和其他的IDE做一个对比,下表对比了VS Code与其他几个流行的IDE(如IntelliJ IDEA、PyCharm、Xcode和Visual Studio)在几个关键方面的特点:

IDEVS CodeIntelliJ IDEAPyCharmXcodeVisual Studio
轻量级与启动速度
跨平台兼容性
免费与开源✓ (社区版)✓ (社区版)
内置调试器
版本控制集成✓ (Git)✓ (Git, SVN)✓ (Git, SVN)✓ (Git)✓ (Git, TFVC)
智能代码补全
语言支持多种语言通过扩展Java, Kotlin等PythonSwift, Objective-C多种语言
界面自定义
扩展与插件生态
专注于特定语言或领域通用Java生态Python生态Apple生态Windows应用与游戏开发
大型项目支持较好优秀优秀较好优秀

哪个IDE最适合取决于具体的使用场景和个人喜好。

VS Code 配置 C语言开发环境


windows环境下的GCC 下载地址

1.MinGW-w64 安装程序

说明:上面连接下载的就是 MinGW-w64 的安装程序。它本质上是一个下载程序,会根据我们之后的一些设置,选择性的下载相应的组件,并将它们组织在一起。所以,运行前要确定网络通畅,而且你有足够的时间,因为根据你的网速,它可能需要花费一定的时间来下载。
操作:用鼠标双击运行 mingw-w64-install.exe 。
注意:如果出现无法运行,或者安装出错,你可以右键点击它,并在弹出窗口中选择“以管理员身份运行”选项,重新运行 mingw-w64-install.exe ,基本可以解决大部分问题。
在这里插入图片描述

2.MinGW-w64 安装程序欢迎界面

在这里插入图片描述
说明:欢迎使用 MinGW-w64 在线安装程序。
操作:点击红框中的 “Next” 按钮,将会进入下一步安装步骤。

3.从服务器获取 MinGW-w64 文件信息

在这里插入图片描述

说明:这里程序正在链接服务器,以便获取存储在仓库中的 MinGW-w64 的文件明细。
操作:只需等待。

4.MinGW-w64 版本选择

说明:在这个界面,你可以根据所要搭建的开发环境,选择不同的选项,从而下载所需的组件。
操作:选择 Version、Architecture、Threads、Exception、Build revision 下拉列表中适当的选项,接下来将会详细介绍这些选项。

5.基础配置

在这里插入图片描述

选择 gcc 版本
说明:Version 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。
操作:在这个版本中,最高版本是 6.2.0 ,选中它即可。

选择电脑系统架构
说明:Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。
操作:我的电脑系统是 64位 的,所以我选择了 x86_64,如果你是 32位 系统,则选择 i686 即可。

选择操作系统接口协议
说明:这个世界上只有两种操作系统,符合 posix 协议的,和 Windows 。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。
操作:我只开发在 Windows 下运行的程序,所以选择了 win32 。

选择异常处理模型(64位)
说明:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。
操作:我这里选择了 seh 。

选择异常处理模型(32位)
说明:选择了 32位 后,则可以用 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,可以它不支持 64位 。
操作:建议选择 dwarf 。

建立修订
说明:暂时没弄明白是做什么的。(知道的人请留言)
操作:选择默认选项。
在MinGW-w64的安装过程中,Build Revision是一个选项,但它的具体作用可能并不直观或明确。在大多数情况下,这个选项可能涉及到构建版本或修订版本的选择。对于大多数用户来说,选择默认选项通常是安全的,除非你有特定的需求或了解这个选项的详细作用。

6.环境变量

在这里插入图片描述

设置好之后呢,我们win+r,然后输入cmd,调出控制台,输入 gcc -v ,有正常的版本输出,就OK了。
在这里插入图片描述

7.VS Code配置

按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置
CT

配置编译器路径
在这里插入图片描述
配置 IntelliSense mode
在这里插入图片描述
右侧出现.vscode/c_cpp_properties.json 就配置成功了
接下来,我们直接定位到一个c源文件,按F5,在弹出的控制台菜单中,选择g++的选项:
在这里插入图片描述
此时会自动生成一个task.json。并运行程序。
在这里插入图片描述

安装问题

MinGW-w64 在线安装包有可能无法正常下载,此时可以选择直接下载绿色版:
绿色版下载地址
在这里插入图片描述

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

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

相关文章

6.【Linux】进程间通信(管道命名管道||简易进程池||简易客户端服务端通信)

介绍 进程间通信的方式 1.Linux原生支持的管道----匿名和命名管道 2.System V-----共享内存、消息队列、信号量 3.Posix------多线程、网路通信 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。…

科研学习|论文解读——了解在线环境中的多数观点形成过程:Facebook的探索性方法(IPM, 2018)

论文标题 Understanding the majority opinion formation process in online environments: An exploratory approach to Facebook 摘要 在在线社区的社会互动过程中,多数观点经常被观察到,但很少有研究用实证数据来解决这一问题。为了确定一个合适的理论…

解决MySQL密码无法设置问题

引言 当我们第一次在Linux中安装好MySQL服务后,使用如下命令可以查看第一次进入MySQL的临时密码。 cat /var/log/mysqld.log | grep password但是我们如何修改它为自己想要的永久MySQL密码呢?在修改过程中出现的密码太短而无法设置的问题如何解决呢&am…

2024 新版 mysql 和 DBeaver 的安装教程,来啦!

mysql community 官网:https://dev.mysql.com/ DBeaver Community 官网:https://dbeaver.io/download/ 1. mysql 安装教程 进入官网 这里我选择的是社区版(对于新手来说,学生是再好不过了,免费又开源) 选择…

图解Transformer——注意力计算原理

文章目录 1、输入序列怎样传入注意力模块 2、进入注意力模块的矩阵的每一行,都是源序列中的一个词 3、每一行,都会经过一系列可学习的变换操作 4、如何得到注意力分数 5、Query、Key、Value的作用 6、点积:衡量向量之间的相似度 7、Transform…

如何使用机器学习构建自己的推荐系统?

一、说明 在广阔的电子商务领域,众多产品和服务都在争夺我们的注意力,推荐系统的作用变得至关重要。这些智能系统彻底改变了我们在线发现和接触产品的方式,使其成为现代电子商务平台成功的基石。 推荐系统,通常称为推荐引擎或简称…

The service already exists!怎么解决,Windows怎么安装/卸载服务?

问题描述 有时候,我们在Windows系统上安装服务时会遇到报错,The service already exists! 问题分析 这个报错说明此服务已经存在了,所以我们不能再次安装,但有时候我们明明是第一次安装,为什么也会报这个错误呢? 在Windows上注册服务通常需要使用命令行工具或者特定的…

如何降低node.js版本(nvm下载安装与使用)

一、问题场景 项目打包时提示以下错误 error js/chunk-f9fc6130.f14f870a.js from Terser Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:71:19)at Object.createHash (node:crypto:133:10) 这个错误提示表明在执行Ter…

大模型学习笔记(一):部署ChatGLM模型以及stable-diffusion模型

大模型学习笔记(一):部署ChatGLM模型以及stable-diffusion模型 注册算力平台(驱动云平台)1.平台注册2.查看算力3.进入平台中心 部署ChatGLM3-6B模型1.创建项目2.配置环境设置镜像源、克隆项目修改requirements 3.修改w…

leetcode刷题日记之串联所有单词

题目描述 解题思路 一开始考虑的就是暴力破解,每次切片切words中字母的个数,然后根据每个词语的长度进行进一步的切片,将切出来的单词放入列表,然后每次对比一次,如果存在,就从原来的列表中,删…

AcWingP1101. 献给阿尔吉侬的花束-bfs(宽度优先搜索)

题目链接 搜宽&#xff1a;每次取出队头元素&#xff0c;然后将该队头元素扩展出的所有元素放到队尾 需要的数组&#xff1a; 判重数组&#xff1a;st[] 一般是入队时判重&#xff08;这样可以保证每一个点入队一次&#xff09;queue 队列 宽搜一般模板 queue <- 初始…

webots的安装和体验

刚知道webots是一个机器人仿真软件&#xff0c;好像离开硬件可以自己玩玩&#xff0c;而且有人形机器人的源代码&#xff0c;试试看吧。 Cyberbotics: Robotics simulation with Webotshttps://www.cyberbotics.com/ 官网下载&#xff0c;有windows版本&#xff0c;看上去好简…

java小型人事管理系统

开发工具&#xff1a; MyEclipseJdkTomcatSQLServer数据库 运行效果视频&#xff1a; https://pan.baidu.com/s/1hshFjiG 定制论文&#xff0c;联系下面的客服人员

微服务网关Spring Cloud Gateway有什么作用?

一、背景 现在的spring cloud生态中&#xff0c;spring cloud gateway是一个非常重要的组件。它是一款API网关服务&#xff0c;在微服务架构中扮演了关键角色&#xff0c;它为微服务架构中的请求提供了路由、转发和过滤的功能。此外&#xff0c;还提供了负载均衡、限流和鉴权的…

ARCGIS PRO SDK 图层唯一值渲染

一、如果【地块回退】为面, 按"DKMC"字段&#xff0c;在面中心配置符号Pushpin Await QueuedTask.Run(Sub()pFeaturelayer pmap.FindLayers("地块回退").First()-----------------唯一值渲染Dim Fields New List(Of String) From {"DKMC"} …

Unity中UGUI中的PSD导入工具的原理和作用

先说一下PSD导入工具的作用&#xff0c;比如在和美术同事合作开发一个背包UI业务系统时&#xff0c;美术做好效果图后&#xff0c;程序在UGUI中制作好界面&#xff0c;美术说这个图差了2像素&#xff0c;那个图位置不对差了1像素&#xff0c;另外一个图大小不对等等一系列零碎的…

【嵌入式DIY实例】-自动割草机器

自动割草机器 文章目录 自动割草机器1、割草机器介绍2、硬件准备3、功能设计4、硬件接线5、代码实现本文将介绍如何使用 Arduino 构建一个简易自动割草机机器人或割草机机器人。该机器人可以自动剪掉花园里多余的草。如果花园里有障碍物,它会自动改变方向。帮助以减少人力。 警…

AI - 支持向量机算法

&#x1f9e8;概念 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种强大的机器学习算法&#xff0c;主要用于解决二分类问题。 SVM的核心思想是找到一个超平面&#xff0c;这个超平面能够最好地将数据分为两类&#xff0c;即在保证分类准确的情况下&am…

LGB2028 反向输出一个三位数

&#xff08;LG是洛谷&#xff08;洛谷&#xff09;的意思&#xff09; 题目链接&#xff1a;B2028 题目描述 将一个三位数反向输出&#xff0c;例如输入 358&#xff0c;反向输出 853。 输入格式 一个三位数 n。 输出格式 反向输出 n。 输入输出样例 输入 #1 100 输…

MySQL语法分类 DQL(3)排序查询

为了更好的学习这里给出基本表数据用于查询操作 create table student (id int, name varchar(20), age int, sex varchar(5),address varchar(100),math int,english int );insert into student (id,name,age,sex,address,math,english) values (1,马云,55,男,杭州,66,78),…