【VScode编辑器】VScode基本使用全面讲解

news2024/12/26 22:49:01

1,VScode是什么?

        Visual Studio Code 简称 VS Code,是一款跨平台的、免费且开源的现代轻量级代码编辑器。它功能强大,提供了丰富的功能和扩展性,几乎支持主流开发的特性。

        VSCode里面有对应的插件安装功能,我们可在里面安装各种插件,将其打造成各种各样的开发工具,这一点下面会提到。

2,VScode的下载和安装

下载:

        VS Code一般有两个版本:【稳定版】和【体验版】。这里建议下载【稳定版】,因为【体验版】更新太过频繁,同时还存在一些bug。

        VS Code官网下载地址:https://code.visualstudio.com/

        进入官网后会出现以下界面,这里可直接点击 Download for Windows 直接下载Windows版本的,也可以在右上角点击 Download 选择下载具体的系统版本(根据自己电脑系统选择)

        进入Download下载后将会出现以下界面,这里可根据系统来进行选择下载哪个版本,然后点击下面的下载符号即可下载对应的安装包。

安装:

        VS Code的安装是一种中间没什么好说的,中间只需无脑的 “勾选” + “下一步” 即可,这里需要说的是中间的安装路径选择可自由分配,之后出现的 “选择附加任务” 建议把 “创建桌面快捷方式” 勾选上,其它选项全部勾选,如下图:

3,环境的介绍

安装中文插件:

        VS Code一开始安装好之后界面全是英文的,要想将其转换成中文需要安装一个中文插件,具体的方法请看此篇文章:VS Code 中文插件的安装

        除此外,我们还可以在VS Code的插件管理上安装中文插件。

         VSCode左边的侧边栏中点击插件管理,搜索:Chinese,显示的第一个插件就是汉化包,直接安装即可。(补:在插件管理中可以进行系统自带的环境选择,方法跟安装汉化包一样)

        安装完汉化包后,立马会在右下角提示需要重启的信息,点击restart就会重启VSCode,即可英译汉使用。

4,VS Code配置C/C++开发环境

        VS Code毕竟是一个高级的编辑器,只能用来写代码,不能直接编译代码。所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,最基础要有编译器的使用。为了方便,这里我们就使用 MinGW-w64,它是一个移植到了Windows平台下的gcc编译器。

MinGW-w64编译器套件的下载:

        下载地址:https://sourceforge.net/projects/mingw-w64/files/

        注意:进入下载链接后不要直接点击下面绿色的下载,要找对应的版本。如下图:

错误下载

正确下载 

        下载完后会得到一个经过专门压缩过的文件包,此时解压此压缩包里文件即可(该文件夹的名称:mingw64)。这里建议把 mingw64文件夹放在一个简单的目录里且路径的名字不要有中文、空格、特殊字符等,如:C盘活D盘的根目录里。

配置MinGW64:

        在Windows电脑上,按win + s快捷键,或者直接在搜索栏中搜:环境变量,就能看到,如下

        这里需要将上面解压出来的mingw64里的bin路径放到环境变量中。bin目录里都是一些类似于gcc编译器等,具有相应功能的可执行文件,如下:

        然后就不断点击 “确定” 即可完成mingw64环境变量的配置,也就是说这时我们在任意路径下,使用命令行模式使用MinGW-w64相应的功能了。

        下面我们可以打开windows窗口下的命令行,输出:gcc --version,查看MinGW-w64中的gcc编译器版本说明和输入:where gcc,查看MinGW-w64中的gcc编译器的路径,若出现下面类似的信息说明配置成功。

安装C/C++插件:

        要在VSCode上编译代码,除了编译器外,还要在VSCode的插件管理上安装C/C++插件,如下图:

        注意:在VSCode插件管理里面安装完插件后,一定要重启VSCode,让前面的设置插件生效,要不然后面会出现各种问题。

5,在VSCode上编写C/C++代码

        在VSCode编写代码,首先要建立起存放代码的文件,最好设置一个专门存放代码文件目录的目录,这里我把全部存放代码的目录放在 D:\Code 路径下。接下来需要在资源管理器上点击 “打开文件夹”,选中专门写代码的文件夹。这一步是每次编写代码的必要操作,这里我以:D:\Code\test_day1 演示。

        注意:以上全部文件夹和文件的命名,最好不要有中文、空格、特殊字符等,否则很容易后续出问题。

        第一次操作时会弹出“信任文件夹”的操作,这里要勾选信任并选择信任。如下图:

        下面以编写C语言为例(C++文件也行),我们需要在打开的目录下新建一个C语言的文件(.c为后缀),之后即可编写C语言代码。

6,编译并运行C/C++代码

设置C/C++编译的选项:c_cpp_properties.json

        鼠标在.c源文件的内部,按 ctrl + shift + p 快捷键,会在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面。有些版本的VSCode可能不会直接显示出,这时需要我们在上面搜索栏中输入进行查找,然后点击进入进行配置,如下:

        选中指定规格后将会出现.vscode,里面的c_cpp_properties.json文件存放的是一系列C的编译选项说明。

创建执行任务:tasks.json

        要编译代码,我们接下来要在VSCode上的【终端】中点击:配置任务,然后选中:C/C++: gcc.exe 生成活动文件,生成tasks.json文件(它是一个C语言编译配置的文件)。

编译程序

        完成以上步骤后,下面就可以编译并生成可执行程序了。具体操作有两步:1,鼠标点在要编译的C语言代码中。2,执行【终端】->【运行生成任务】。3,选中出现的 “gcc.exe编辑器”即可生成。

执行程序

        按键盘【ctrl】+【`】快捷键,打开VSCode自带的终端,这时输入:.\[可执行程序的名字](“.”表示当前目录,此时输入表示的意思是执行当前目录下的可执行文件)。即可执行代码,如下图:

7,再次编译并运行一个C/C++代码

方法一:

        新建文件。如果你的代码还是单独的一个.c 文件,在当前打开文件夹中就可以编写,那直接在当前打开的文件中新建.c文件,编写代码,对当前的代码直接执行【终端】->【运行生成任务】,步骤跟第一次的一样。这里原本有关编译配置的tasks.json文件和编译选项的c_cpp_properties.json文件都不用变,因为编译运行规则都是一样的。如下图:

方法二:

        如果你要写的代码需要单独文件夹管理,那就再次打开新的文件夹来编写代码,编译和执行了。比如:新的代码需要放在test_day2的文件夹中管理。

新建文件夹test_day2

        这里我们在 D:\Code 目录下新建文件夹test_day2,然后在VSCode上面【文件】中选择关闭文件夹,打开新建的test_day2文件夹,在里面新建C语言文件编写。

        那么下面问题来了,难道我们仍需要进行第一次时的复杂流程吗?答案是不需要。我们第一次生成的一系列配置.vscode文件夹,可以直接复制到新的文件夹test_day2中,这时,我们在VSCode中的TEST_DAY2中就能看到,如下图:

        这时,我们只需对代码编译:【终端】->【运行生成任务】,然后执行即可,方法是一样的。

8,编译一个工程中的多个C语言文件

        假设有一个工程multiple_files,里面有多个文件需要编译,如:add.c文件中是函数的定义,test.c文件中是使用自定义函数的源文件,编译时两个C文件都需编译,这时,同样需要生成有关C语言编译的配置文件夹.vscode(若其它C语言文件夹中已配好可直接复制过来使用)。

        注意:若是直接将其它单独管理一个C语言文件的目录里面的.vscode 复制过来,编译选项c_cpp_properties.json文件没什么好说的(都是C语言的编译说明),但是编译配置的tasks.json文件是在编译过程中真正需要的编译选项配置,比如说编译时需要哪些配置步骤,因此我们需要改造tasks.json文件。

改造tasks.json文件

编译多个源代码文件:

        通过把"${file}"(“file”指的是要编译的文件,“${file}”指的是点击哪个就会编译哪个文件)修改为"${workspaceFolder}\\*.c"(“workspaceFolder”指的是打开空间的文件夹,如上面的MULTIPLE_FILES。“ * ”表示通配符。"${workspaceFolder}\\*.c"表示此时文件夹路径下的所有C语言文件都要编译),可以构建当前工作区中的所有C文件。

        通过把"${file}"修改为"${workspaceFolder}\\*.cpp",可以构建当前工作区中的所有C++文件。

修改编译输出的文件名:

        代码经过编译后就形成了可执行文件,编译一个项目下的多个源文件代码时显然不能形成多个可执行文件。这时,我们需要修改tasks.json文件里面编译输出的文件名。

        通过把"${fileDirname}\\${fileBasenameNoExtension}.exe"(“${fileDirname}”表示源文件的名字。“${fileDirname}\\${fileBasenameNoExtension}.exe”表示在源代码文件路径下,形成可执行文件的名字跟源文件的名字相同)修改为:"${workspaceFolder}\\myProgram.exe",可以把编译输出的文件名硬编码为myProgram.exe,而不是与C语言同名。具体效果请看图一。

        通过把 "${fileDirname}\\${fileBasenameNoExtension}.exe" 修改为:"${workspaceFolder}\\${workspaceRootFolderName}.exe",可以把编译输出的文件名为:打开的工作区文件夹名字.exe。具体效果请看图二。

        上面两大步骤修改后就要在【终端】执行【运行生成任务】编译所有文件,然后再按键盘【ctrl】+【`】快捷键,打开VSCode自带的终端运行程序即可。

图一

图二

9,VSCode运行C++代码

        若我们按照编译C语言程序的方式编译C++文件,可发现系统会报错。我们安装的目录mingw64里面的工具目录bin其实也有C++的编译器g++,这里直接配置g++编译器即可。

配置g++.exe为编译器

        鼠标在.cpp的源文件内部,按下【ctrl】+【shift】+【p】快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,这些步骤跟之前C语言的一样。

        下面,进入设置页面找到【配置名称】,点击【添加配置】,填写配置的名称,这里可以随意填写,因为只是一个名称而已,但为了直观一点,建议写上:C++,然后点击【确定】,如下图。

        随后,在下面的【编译器路径】中选择使用mingw64目录里bin目录下的g++编译器工具。

        IntelliSense模式仍然选择:gcc-x64(legacy) 模式。下面的【C++标准】这里根据需要自行选择,对于目前的市场使用来看建议选择C++11或更高的标准。

        配置完后可在配置说明文件c_cpp_properties.json中看到有关下图的C++配置说明。

        下面,我们要生成C++编译配置文件tasks.json,方法跟C语言的一样,但需注意的是,若这里原先是C语言形成的tasks.json或将C语言的配置文件拷贝了过来,需要按照生成tasks.json文件的操作执行一下(【终端】+【配置任务】),中间选择的时候要选择【C/C++: g++.exe 生成活动文件】在原有的tasks.json配置文件中增加C++编译的配置,我们可在tasks.json配置文件中观察到

        若是想再次编译C++代码或编译一个工程中的多个C语言文件,修改的方法跟C语言的一样,但要注意这里修改的是C++的配置选项,具体做法再说明。

10,VSCode的调试

        VSCode上的调试关键是依赖一个叫做 launch.json的配置文件,下面来具体说明。

创建 launch.json配置文件

        首先要点击左右边的【运行和调试】(对应【ctrl + shift + d】快捷键),然后选择【创建 launch.json 文件】,这时要在弹出的窗口中选择【C++(GDB/LLDB)】,此时会在资源管理器的代码文件夹中形成launch.json配置文件,但里面并无任何相关信息,需要我们往里面添加配置。

配置launch.json文件

        launch.json文件的右下角有个【添加配置】,选择后会出现以下信息。

        这里需要增加一个【C/C++:(gdb)启动】,之后就会在此文件里生成默认的调试配置信息,这些信息需要修改一部分。

        首先修改的就是:"program": "输入程序名称,例如 ${workspaceFolder}/a.exe",在"program"后面输入要调试程序的名称。这里可直接把tasks.json编译配置文件中生成对应名称的可执行文件语句直接复制过来,如:上面 的"${workspaceFolder}\\${workspaceRootFolderName}.exe""${fileDirname}\\${fileBasenameNoExtension}.exe"

        最后要修改的是:"miDebuggerPath": "/path/to/gdb""miDebuggerPath"表示调试工具,后面要跟具体工具的路径,需自己补充。mingw64目录下的工具目录bin里面有调试工具gdb.exe,这里只需要把gdb.exe对应的路径填写上面即可。注意,路径符号要使用双斜杠“\\”,表示转义字符,不能按原本的单斜杠“\”,否则就会被识别为字符‘\’。如: "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe"

开始调试

        VSCode的调试跟VS的调试是非常相似的。当launch.json文件生成后,我们只要打断点开始调试就行。具体的调试快捷键和VS系列的IDE是一样的,一个项目中也不能存在两个main函数,如下:

        F9:打断点/取消断点。鼠标也可在左边点击选择断点,跟VS一样。

        F5:启动调试。

        F10:逐过程调试。

        F11:逐语句调试。

        当启动调试后,我们可以使用监视窗口查看变量等程序执行过程中的信息。如下图:

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

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

相关文章

基于51单片机的智能车库系统proteus仿真

地址: https://pan.baidu.com/s/1Pw9pbytbYqCoecGxSFNqpg 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectro…

【网络爬虫篇】逆向实战—某东:滑块验证码(逆向登录)2024.8.7最新发布,包干货,包详细

【网络爬虫篇】更多优秀文章借鉴: 1. 使用Selenium实现黑马头条滑块自动登录 2. 使用多线程采集爬取豆瓣top250电影榜 3. 使用Scrapy爬取去哪儿网游记数据 4. 数据采集技术综合项目实战1:国家水稻网数据采集与分析 5. 数据采集技术综合项目实战2&#x…

电子画册设计源码系统:轻松制作各行各业在线画册展示 带完整的安装代码包以及搭建教程

在信息化时代,传统的纸质画册已经无法满足现代人的阅读需求。而电子画册具有信息更新迅速、展示方式多样、交互性强等优点,能够更好地满足用户对于信息的获取和展示需求。同时,随着移动互联网的普及,用户对于在线浏览和分享的需求…

GEE:设置自定义风格底图

作者:CSDN _养乐多_ 本文将介绍如何在 Google Earth Engine (GEE)平台上,设置底图风格。结果如下图所示, 文章目录 一、代码二、完整代码链接 一、代码 以下代码将GEE的底图根据自己的需求设置风格。 var land { …

为啥https比http慢

Https有ssl的握手 HTTP没有 HTTPS TCP 和HTTP 的TCP 时间差不是很大 HTTPS请求中,ssl所占的时间比例是请求时间总和93.37%, HTTPS请求中,ssl的请求会是tcp请求的14倍,而HTTP中没有这个问题 建议:对安全要求不是很高的,不要使用https请求 图例

【漏洞复现】PowerPMS——APPGetUser——SQL注入

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 PowerPMS 是一个集成的企业管理系统,涵盖了财务管理、销售管理、…

常见八股面试题:Dubbo 和 Spring Cloud Gateway 有什么区别?

大家好,我是鸭鸭! 此答案节选自鸭鸭最近弄的面试刷题神器面试鸭,更多大厂常问面试题,可以点击进行阅读哈! 目前这个面试刷题神器刚出,有网页和小程序双端可以阅读! 回归面试题! …

Android中的Binder

binder是Android平台的一种跨进程通信(IPC)机制,从应用层角度来说,binder是客户端和服务端进行通信的媒介。 ipc原理 ipc通信指的是两个进程之间交换数据,如图中的client进程和server进程。 Android为每个进程提供了…

中值定理适用题型

探讨f 和 f’用 拉格朗日中值定理探讨f与f的高阶导数泰格公式探讨 f, g 和 f’, g’柯西中值定理探讨 f’0罗尔定理、费马定理f0零点定理 延伸: 拉格朗日中值定理的重要作用之一:用 f’ 的大小来限定 f 的变化幅度大小

快团团供货团长帮卖团长如何反向核销订单?

一、功能说明 当已核销的订单需要处理退款时,可以先操作反向核销(取消核销),再处理退款。 二、具体操作步骤 在商品核销中找到出想要“反向核销”的订单,在本次核销中点“-”号,再点击批量核销即可。 注意&…

【每日刷题】Day96

【每日刷题】Day96 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCP 44. 开幕式焰火 - 力扣(LeetCode) 2. 1022. 从根到叶的二进制数之和 - …

如何分析KDJ指标?九方智投学习机来帮忙

(九方智投属于九方智投控股有限公司(9636.HK)旗下品牌)      投资中,投资者需要参考的内容有很多,例如KDJ指标,KDJ指标又叫随机指标,是一种相当新颖、实用的技术分析指标&#x…

RJ TextEd 配置简易C/C++ 编译运行环境

前提条件 1.Mingw GCC已经按照且配置环境变量 2.RJ TextEd已安装 步骤 1.配置工具 2.新建 3.填写内容 以GCC为例 4.重复新建G/Run 为了同时支持C和C,有三个工具,gcc g run 5.设置快捷键 注意不能和已有的冲突 验证

ThreadLocal 详解(二)ThreadLocal的原理

前言:Threadlocal的原理涉及两个方面:Threadlocal实例和ThreadlocalMap;这是我画的草图 一.Threadlocal实例 每个Threadlocal对象实际上是一个容器,用于储存线程本地的变量副本。每个线程都可以拥有自己的Threadlocal实例&#xf…

快手如何改ip地址到另外城市

在现今的数字时代,社交媒体平台如快手已成为我们日常生活中不可或缺的一部分。无论是分享生活点滴、观看娱乐视频,还是进行商业推广,快手都为我们提供了广阔的空间。然而,在使用快手的过程中,一些用户可能会遇到需要更…

mapbox-gl 实现房间面生成墙(借助jsts)

文章目录 一、前言二、面生成墙方法示例 一、前言 当我们从室外放大到室内展示室内图层时,我们可能只有房间面的数据,这时要展示房间墙数据,就需要借助工具对房间面进行缓冲,但是数据变动时,我们还要再次进行一下缓冲…

【算法专题】哈希表

哈希表是什么?有什么用?什么时候使用?怎么用? 哈希表是存储数据对的容器;作用在于快速查找某个元素;当我们需要频繁地查找元素时,会考虑使用哈希表;在算法题中,我们通常使…

基于el-table的表格点选和框选功能

开篇 本篇文章旨在实现一个基于el-table的表格点选和框选功能,除此之外,还支持多种模式的切换、自定义勾选日期等。且,该表格后续可能还会持续优化! 功能介绍 表格点选和框选功能(没有点击ctrl键的情况下)…

AI安全新纪元:智能体驱动的网络安全新范式

近日,ISC.AI 2024第十二届互联网安全大会在北京盛大开幕。本次大会以"打造安全大模型,引领安全行业革命"为主题,旨在呼吁行业以大模型重塑安全体系,以保障数字经济的稳健发展。 在企业安全运营与策略实践论坛上&#x…

人工智能时代,数字化工厂如何改革?提升竞争力?

在人工智能时代,数字化工厂通过数据驱动的决策、智能制造、柔性生产、物联网整合以及人机协作,实现生产效率和产品质量的全面提升,并不断创新以保持竞争力。 --题记 在人工智能时代,数字化工厂的改革…