VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

引言+劝退

VSCode,全称为Visual Studio Code,是由微软开发的一款轻量级,跨平台的代码编辑器。大家能来搜用VSCode配置c/c++,想必也知道VSCode的强大,可以手握一个VSCode同时编写如C,C++,C#,Java,python等等语言的代码。得益于在VSCode上可以下载很多不同种类的插件,可以给vscode添加很多扩展功能,如代码高亮美化,代码补全和代码检查等。

在今天的内容开始之前,我想先劝退一波。

如果你是刚刚接触编程或是使用计算机并不熟练,我强烈建议:

不要碰VSCode!!!

不要碰VSCode!!!

不要碰VSCode!!!

VSCode的环境配置和文件操作相比于直接下载集成开发环境,对于初学者实在是一种灾难。

要学习C/C++,可以去下一个Visual Studio,如果嫌占内存太大,不写什么大工程,可以去下一个Dev-C++

要写Java,去找IntelliJ IDEA

要写python,去找pycharm

总之,初学者建议先熟悉下计算机和编程再来搞VSCode,当初还是小白的我弄了个VSCode的就开始配环境,后期一大堆非程序问题搞得不得不下个集成的环境再学。

能看到这里,说明你已经下定了学习如何在VSCode上写C/C++代码的决心,那么现在就开始我们的内容吧!

VSCode的下载和安装

下载vscode直接去搜就可以,这里我附上一个下载链接吧

Visual Studio Code - Code Editing. Redefined

75d4e6dfe50842a6a81b6526c7fc8bff.jpeg

这里根据自己的电脑系统选择,我的电脑是windows系统,选择stable版

应用商城里面自带的vscode其实也是可下的

下好之后,我们打开安装包,开始安装

edf94d4a89ef41c6a3f3c055758578b4.jpeg

这里下一步其实没什么可说的,路径那里放到哪都无所谓

下面这个界面注意一下,都选上

d84a18cd9e8d4320acb45555e5df3546.jpeg

最后就是安装完成了

在打开VSCode之后,你会发现,里面都是英文,那是因为你还没安装中文插件

f821dbc1bc194a06b0409098e081318a.png

在组件里,搜索Chinese,下载最上面那个

右下角会弹出这样一个框

aed9c8296f874f7bbe2c2f2e1c9b32c5.jpeg

当你点Restart重启后就已经是熟悉的中文啦!

VSCode配置C/C++开发环境

安装MinGW

VSCode安装好之后,我们还是要了解到,VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须要有编译器。为了方便,我们使用MinGW-w64,MinGW-w64是移植到windows平台的一个gcc编译器,用起来很方便。

下载MinGW-w64的话,下面是下载地址

MinGW下载地址

978e44aab69d43a7aff9a7af94037add.png

在这个界面,不要直接点下载,先往下拖动,建议下载这个

3fc6b2fd7e5b4f5a9f26f915f1399a1c.png

点击之后,正常情况下,就应该开始正常下载了。

MinGW-w64下载好之后,需要先解压缩

021bba8f8a684116b88cd87628ab7ef4.png

最后会解压出一个文件夹,建议将文件夹放到一个容易管理的地方,这里我放到C盘的根目录下

C:\mingw64

592a4d39e3b34566b906f2f50810708f.png

配置MinGw

在windows电脑上,按win+s快捷键,或者直接在搜索框中搜:环境变量,就可以看到:

3a41008af81b49d7b09af88f76d98243.png

点击环境变量

e3e54e37515043eda6cbb21fff47362d.jpeg

找到系统变量中path路径,点击打开

5b7b50c4fa90426dabbf0f371efe81de.jpeg

在最后添加上C:\mingw64\bin (放在了不同的路径,只要保证最后是\mingw64\bin就行)这个路径

39c3191581b44431b31dc956d54c8ff3.jpeg

最后连续点击确定三次层层退出

这样mingw编译器套件基本上就配好了

接下来,我们需要安装一个C/C++插件

我们直接搜索c/c++,选择最上面那个直接安装上就行

55401828ece84d02a5a3463ebd6b6468.png

安装完之后,重启一下,VSCode配置C/C++环境这一块的工作就算彻底完成。

在VSCode上编写C/C++代码并编译成功

VSCode上写代码首先需要打开文件夹,这样也可以方便管理代码和编译器产生的可执行程序和VSCode生成的配置文件(总之就是很有好处)。在写代码前,先要考虑好把代码放在什么地方管理。

这里我创建一个名字叫test_vscode的文件夹,在我的C根目录当中

我们要保证创建的文件夹中的路径是没有中文名的,不然后续会有一系列问题,就比如调试莫名报错之类

用中文名调试时的报错(其中马赛克位置是中文):

5a657461dc5c40afb76e7b213cfb8777.png

fd33f0c79b3d4a86b61796ec280f6dea.png

用VSCode打开此文件夹

f61e91d1801d4465b4fe73d10997555e.png

e5b19bff44654b4eb9f1d86605edb1aa.png

然后文件夹就被顺利打开了 

编写C/C++代码

1db7f3ddbbf74f6db8edb59495f767c6.png

编译当前代单个文件代码

在我们编译代码前需要创建下图黄框内的两个文件

94108f4b4ad74fed9e31608b92c1e7c3.png

第一个文件的创建方式,在中间搜索框打>,然后找C/C++编译配置

bc1933ca0f6b40839efac68b01f4d9a1.png

这里进到这样一个界面

0ceea35b80454298912cd896e1367331.png

这里选择编译器路径

35d57aa83a4f40758af154f5f58baeeb.png

再次根据图片选择

9abb1a71b18345d6a1ae05d0c9eee829.png

这时关闭这个界面就会发现,下面这些已经在不知不觉间生成了

e270948990a64068a133483a4ea1395f.png

//c_cpp_properties.json
{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22621.0","compilerPath": "C:/mingw64/bin/gcc.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"},{"name": "C++","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22621.0","compilerPath": "C:/mingw64/bin/g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}],"version": 4
}

这份c_cpp_properties.json其实也不用自己创建,把我的直接复制粘贴过去也行 ,这个对C/C++都适用

这时我们来创建第二个文件tasks.json

在代码文件下选择终端里的配置任务

c19fdc5ec52142c6a619ec037706472d.png

6abd83291d53429aaefc6c207b4f7a4a.png

在做出选择之后,第二个文件就配置完毕了,现在我们来编译一下代码

在终端中选择运行生成任务

36a499db70fc4e7daf5f37321afdd9be.png

这里的gcc和g++怎么选不用我说了吧

cd0580953a3542aca2402c8aeea9b1af.png

选择之后,你会发现在test.c下面多了一个可执行文件test.exe

002abc27586b47e299a2c328c8e69bdf.png

此时 Ctrl + `

同时终端中输入.\test.exe运行代码回车就开始运行了

78b9654b35774313ac41895a9471d4a0.png

同样的方式也可以编写c++代码

唯一要注意的是,C++在创建第一个文件时,建议改一下配置名称,如果复制粘贴了我的第一个文件就不用管了

97885a5eb5f243678dea945e04978bb2.png

点击确定,然后其他正常生成文件

e89a3781f43d43518cca72d7e7cb18e7.png

编译多个文件代码

这里需要改一下.vscode中tasks.json文件的一些内容

图中我标了注释的地方就是需要改动的地方,然后这是改动后的文件

f986cc9c7ffc4ec4baed36f0aad10817.png

//tasks.json
{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: g++.exe 生成活动文件","command": "C:\\mingw64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${workspaceFolder}/*",  //${file}"-o","${workspaceFolder}\\${workspaceRootFolderName}.exe"  //${fileDirname}\\${fileBasenameNoExtension}.exe],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": "build","detail": "编译器: \"C:\\mingw64\\bin\\g++.exe\""}]
}
//test.cpp
#include<iostream>
#include"add.h"
using namespace std;int main()
{int a = 10;int b = 15;int c = Add(a,b);cout << a<< " " << b << endl;cout << c;return 0;
}
//add.h
#pragma
int Add(int x,int y);
//add.cpp
#include"add.h"int Add(int x,int y)
{return x + y;
}

最后编译器将文件夹所有文件都编译链接生成一个以文件夹命名的 .exe 文件 

23ec3376c0cb4e72874e293a43ab934b.png

aea2b92f5502479d9ac28d1499a22416.png

下面是运行 

9ed15d0b9a0e4a5e8cf71344a15159fc.png

VSCode的调试

调试这里另外需要一个文件,launch.json文件

创建launch.json文件

dfd0c180111f4a718ea15b61d3c121dc.png

点击之后会弹出一个窗口选择,这里我们一定要选择C++(GDB/LLDB)

32f8a40dfa8c487484af984f8157707f.png

这时就会生成一个launch.json文件,这时候文件里几乎什么都没有,我们点击右下角的添加配置

0fe981ed3d7a4317a961dabce28bc5f6.png

选择第三个gdb启动

38a93fbfa8e4409eb95c0d9962c496f9.png

其中,下面标出的这两个位置是需要修改的

73bc7657b60d479eb246727264cb8237.jpeg

下面是修改后的文件 

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}\\${workspaceRootFolderName}.exe",  //输入程序名称(也就是需要调试的文件),例如 ${workspaceFolder}/a.exe"args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",  //调试的工具(mingw,bin中有gdb)   /path/to/gdb"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
}

调试运行 

修改之后,进行编译,生成一份test_vscode.exe之后就可以开始调试

此时我们就可以直接按 F5 开始调试,F9打断点,F10逐过程(遇到函数当成一条语句跳过),F11逐语句(遇到函数跳转到函数内部按语句一步步走)

e807f8d0e0244ac4a02e37e5835d5be9.png

结语

 关于VSCode上搭建C/C++开发环境的内容,到这里就结束了,这里博主感叹一下,VSCode真的挺强大的,作为一个编辑器,可以通过和编译器链接成为开发环境,将环境配置好的话,在这上面写代码似乎也是个不错的选择。大家有任何疑问,欢迎在评论区中提出,本篇博客有任何问题和错误也欢迎来和博主讨论,真心希望能和大家一起进步。最后,如果本篇博客对你有帮助的话,能不能给博主一个三连啊!感谢大家的支持♥

 

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

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

相关文章

微服务day02-Ribbon负载均衡与Nacos安装与入门

一.Ribbon负载均衡 在上一节中&#xff0c;我们通过在RestTemplte实例中加上了注解 LoadBalanced,表示将来由RestTemplate发起的请求会被Ribbon拦截和处理&#xff0c;实现了访问服务时的负载均衡&#xff0c;那么他是如何实现的呢&#xff1f; 1.1 Ribbon负载均衡的原理 Rib…

LabVIEW非接触式电阻抗层析成像系统

LabVIEW非接触式电阻抗层析成像系统 非接触式电阻抗层析成像&#xff08;NEIT&#xff09;技术以其无辐射、非接触、响应速度快的特点&#xff0c;为实时监测提供了新的解决方案。基于LabVIEW的电阻抗层析成像系统&#xff0c;实现了数据的在线采集及实时成像&#xff0c;提高…

Java SE:多线程(Thread)

1. 线程两个基本概念 并发&#xff1a;即线程交替运行多个指令并行&#xff1a;即多个线程同时运行指令 并发并行不矛盾&#xff0c;两者可同时发生&#xff0c;即多个线程交替运行指令 2. 多线程3种实现方式 2.1 直接创建线程对象 /*** 方式1&#xff1a;* 1. 创建thread类的…

【Linux系统化学习】信号的保存

目录 阻塞信号 信号处理常见方式概览 信号的其他相关概念 在内核中的表示 sigset_t 信号集操作函数 sigprocmask函数 sigpending函数 信号的捕捉 内核如何实现信号的捕捉 sigaction函数 可重入函数 volatile 阻塞信号 信号处理常见方式概览 当信号来临时&#x…

GEE:使用Sigmoid激活函数对单波段图像进行变换(以NDVI为例)

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine (GEE)平台上,对任意单波段影像进行 Sigmoid 变换的代码。并以对 NDVI 影像像素值的变换为例。 文章目录 一、Sigmoid激活函数1.1 什么是 Sigmoid 激活函数1.2 用到遥感图像上有什么用?二、代码链接三、完整代码一…

MYSQL02高级_目录结构、默认数据库、表文件、系统独立表空间

文章目录 ①. MySQL目录结构②. 查看默认数据库③. MYSQL5.7和8表文件③. 系统、独立表空间 ①. MySQL目录结构 ①. 如何查看关联mysql目录 [rootmysql8 ~]# find / -name mysql /var/lib/mysql /var/lib/mysql/mysql /etc/selinux/targeted/tmp/modules/100/mysql /etc/seli…

前端src中图片img标签资源的几种写法?

在 Vue 项目中引用图片路径有几种不同的方法&#xff0c;具体取决于你的项目结构和配置。以下是几种常见的方式&#xff1a; 1. 静态资源目录 (Public) 如果你的图片放在了项目的 public 目录下&#xff08;例如&#xff0c;Vite 和 Create Vue App 脚手架工具通常使用这个目…

05 OpenCV图像混合技术

文章目录 理论算子示例 理论 其中 的取值范围为0~1之间 算子 addWeighted CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2, double beta,double gamma, OutputArray dst, int dtype -1 ); 参数1&#xff1a;输入图像Mat …

2024年【广东省安全员A证第四批(主要负责人)】考试试卷及广东省安全员A证第四批(主要负责人)作业模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广东省安全员A证第四批&#xff08;主要负责人&#xff09;考试试卷根据新广东省安全员A证第四批&#xff08;主要负责人&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将广东省安全员A证第四批&#x…

钉钉机器人发送折线图卡片 工具类代码

钉钉机器人 “创建并投放卡片 接口 ” 可以 发送折线图、柱状图 官方文档&#xff1a;创建并投放卡片 - 钉钉开放平台 0依赖、1模板、2机器人放到内部应用、3放开这个权限 、4工具类、5调用工具类 拼接入参 卡片模板 自己看文档创建&#xff0c;卡片模板的id 有用 0、依赖…

Springboot项目中定时任务的四种实现方式

文章目录 1. 使用Scheduled注解1.1 时间间隔执行1.2 固定时间点执行 2. 使用EnableScheduling注解启用定时任务3. 实现SchedulingConfigurer接口4. 使用Quartz框架4.1 配置QuartzScheduler4.2 定义Job类和Trigger类 5. 总结 在开发现代应用时&#xff0c;定时任务是一个非常常见…

地图可视化绘制 | R-ggplot2 NC地图文件可视化

在推出两期数据分享之后&#xff0c;获取数据的小伙伴们也知道&#xff0c;数据格式都是NetCDF(nc) 格式网格数据&#xff0c;虽然我在推文分享中说明使用Python、R或者GIS类软件都是可以进行 处理和可视化绘制的&#xff0c;但是&#xff0c;还是有小伙伴咨询使用编程软件Pyth…

牛客周赛 Round 34(A,B,C,D,E,F,G)

把这场忘了。。官方也迟迟不发题解 比赛链接 出题人题解 A 小红的字符串生成 思路&#xff1a; 枚举四种字符串打印出来即可&#xff0c;为了防止重复可以用set先去一下重。 code&#xff1a; #include <iostream> #include <cstdio> #include <cstring&g…

day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

一遍过。 当前房屋偷与不偷取决于 前一个房屋和前两个房屋是否被偷了。所以这里就更感觉到&#xff0c;当前状态和前面状态会有一种依赖关系&#xff0c;那么这种依赖关系都是动规的递推公式。 class Solution { public:int rob(vector<int>& nums) {vector<vec…

门店纵深不足、入口有遮挡影响客流准确率?近景客流帮你搞定!

为了优化运营策略、提升门店营收&#xff0c;很多店铺和商场都会安装客流摄像机。但是在实际应用中&#xff0c;由于门店纵深受限等原因&#xff0c;导致无法使用之前的常规客流产品。 针对这种情况&#xff0c;悠络客最新研发了近景客流产品&#xff0c;即使存在入口被遮挡或门…

内网信息搜集

目录 内网基础知识 基本流程图 怎么判断是否在域内 常规信息类收集-应用&服务&权限等 cs信息搜集 bloodhound安装及使用 内网基础知识 工作组&#xff1a;将不同的计算机按照功能分别列入不同的组&#xff0c;想要访问某个部门的资源&#xff0c;只要在【网络】里…

pyqt教程

一、组件安装配置 1.安装组件 在Anaconda Prompt下进入自己的python环境 pip install PyQt5 pip install PyQt5-tools 2.vscode安装插件 3.配置路径 配置Pyuic:Cmd与Qtdesigner:Path路径 1.Pyuic:Cmd路径 一般是在你安装的python环境下的 \Scripts\pyuic5.exe 2.Qtdesigner:P…

anaconda简介以及安装(Windows)

介绍 Anaconda是一个开源的Python发行版本&#xff0c;它是一个打包的集合&#xff0c;里面预装了conda、Python、众多packages、科学计算工具等。Anaconda的目的是方便使用Python进行数据科学研究&#xff0c;它涵盖了数据科学领域常见的Python库&#xff0c;并且自带了专门用…

Python的循环结构练习

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 生命对某些人来说是美丽的&#xff0c…

我国每年研究生的毕业数量统计分享

本数据集详细记录了自1949年至2021年我国每年研究生的毕业数量&#xff08;包括硕士和博士学位的毕业生&#xff09;。在2021年&#xff0c;我国的研究生毕业生人数达到了772,761人&#xff0c;此数字比上一年度增加了44,000人。 统计的数据单位使用的是人数。 数据展示&…