189 8069 5689

VsCode安装+C/C++配置+安装配置过程中的经典问题-创新互联

前言

本文只是做了整合,以及结合网络资料做出一些自己的理解,如有不对之处期望各位大佬的指正。也可以留言出自己遇到的问题,大家一起解决。这样可以帮助看到留言版的人解决问题。另外希望在按照本文安装过程中按步骤依次安装,则会出现更少的问题。本文仅适用于使用Windows操作系统的安装。中支持点击放大图片,故遇到看不清的图片可点击放大进行观看。

十余年的乌鲁木齐网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整乌鲁木齐建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“乌鲁木齐网站设计”,“乌鲁木齐网站推广”以来,每个客户项目都认真落实执行。VSCode下载安装 软件下载

Download Visual Studio Code -Mac, Linux, Windows。点击官网链接,根据自己电脑的操作系统下载即可。建议下载zip格式,因为exe格式安装后更改VsCode扩展安装位置时会有较多的操作步骤。点击x64。

此时可能出现网页打不开,因为这是官网的下载路径,此时可以改用国内镜像下载,即将下载链接:https://az764295.vo.msecnd.net/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/VSCode-win32-x64-1.74.2.zip

更改(红色部分)为:

https://vscode.cdn.azure.cn/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/VSCode-win32-x64-1.74.2.zip

进入更改的链接就可以下载VsCode最新版的zip文件。

软件安装

在C盘以外的盘中建立一个VsCode文件夹,用于放置VsCode。

将下载好的zip文件用解压软件解压到此文件夹中。解压完成后即安装好了VsCode。安装成功后即如下图所示。

在上图所示的文件夹中建立data文件夹。这是因为直接打开Code.exe会导致以后的扩展程序会安装在C盘当中,因为VsCode默认在C盘建立你的数据文件。此时建立data文件,在以后使用VsCode的过程中,产生的用户数据与扩展程序都会存入这个data文件中。(这种更改扩展安装位置的方法,仅适用于通过Zip下载的VsCode软件。)

在上图中所示的文件夹中右击Code.exe文件创建快捷方式,然后将快捷方式拖动至桌面。这样便于以后通过桌面的快捷方式打开VsCode。拖动至桌面后文件夹中的快捷方式可以删除,至此VsCode安装结束。

VsCode配置C/C++ VsCode改为中文设置。(若想用英文,这一步可省略)

点击打开VsCode,点击“扩展(下图红框框选的部分)”。

在扩展中搜索“Chinese”选择中文简体,然后点击install,安装完成后右下角出现是否应用的弹窗提示。

点击蓝色按钮将会自动重启VsCode,并且界面变为中文界面。如下图。

添加C/C++扩展。

在扩展中搜索C/C++,然后安装C/C++扩展。默认安装为最新版本,但最新版本无法自动生成之后配置C/C++时需要的launch.json文件。所以来到扩展。如图所示,点击齿轮,点击“安装另一个版本”,选择较低的版本,我选择的v1.7.1.

安装与配置MinGw。

有关MinGw的介绍在次不作过多的解释,详情可以自己百度。在此仅需知道VsCode编译C/C++过程中需要下载这个程序,值得注意的是在VsCode中通过MinGw编译生成的exe文件,在不同的终端下执行会因为编码格式不统一产生中文乱码的问题,这个问题稍后做解释,在此先进行MinGW的安装。

官网下载MinGw

点击上面的超链接进入下载的官网,一直下滑找到这个下图所示的界面:

32位选择i686-win32-sjlj或i686-win32-dwarf,64位可选择x86_64-win32-sjlj或x86_64-win32-seh,不同点在于sjlj更稳定,seh,dwarf性能更优,有关seh,sjli,dwarf实际上是三种异常处理模型,并不会特别影响程序的运行。详情参见:https://blog.csdn.net/AMDDMA/article/details/111600238

将下载后的文件选择解压到C盘以外的盘中,此处无需建立文件夹。

解压完成后会得到“mingw64”的文件夹,32位可能名称有些不同,但不影响接下来的操作。

打开mingw64文件夹->打开里面的bin文件夹(此处仅显示了bin内的两个文件,实际不止)。

单击上图中bin旁的空白部分,ctrl+c复制文件路径,便于之后将MinGw加入环境变量。

将MinGw添加到环境变量。

电脑屏幕左下角有搜索框。

在搜索框中输入“环境变量”,点击编辑系统环境变量。

然后点击环境变量。

点击“系统变量”中的path。

然后点击编辑得到:

点击新建,然后将刚才复制的路径粘贴上去:

最后一直点击确定保存你的设置。

测试MinGw配置成功

在电脑屏幕左下角的搜索框中输入“cmd”,点击”以管理员身份运行”。(弹出是否运行框选择是)。

在得到的cmd终端中输入:gcc -v -E -x c++ -

按回车得到如下图所示的结果框,则说明MinGw配置成功。

VsCode的使用(以C为例) 建立C语言文件

在C盘以外的盘中建立一个文件夹,名字全英文,表示以后建立的C/C++的工程文件均放置于此,如图:

打开安装完成的VsCode,点击“文件”,点击“打开文件夹”,

在下图所示界面找到你之前建立的工程文件夹。

点击“选择文件夹”,打开文件夹回到VsCode界面。此时会出现下图所示界面。(电脑可能会询问你是否信任文件夹的作者,选择信任)。

将鼠标光标放置此文件夹上,会有提示:

第一个为新建文件,第二个为新建文件夹,选择“新建文件夹”,在下方就可以输入名字即可建立一个文件夹,文件夹名称最好不要使用中文。

建立第一个工程文件夹,如下图所示。

右击建立的工程文件夹,选择新建文件,建立一个文件后缀名为.c或.c++文件。如图所示:

建立运行代码需要的配置文件

建立c_cpp_properties.json文件。点击查看,打开“命令面板”,(也可以使用ctrl+shift+p,快捷键打开)(这里只提供一个方法给需要生成c_cpp_properties.json文件的人,这一步可省略,不想建立的人可直接跳过接下来的两步)。

第一步:一般来说这里会直接弹出“C/C++编辑配置”,若没有弹出也可以在搜索框中输入这一个配置名称,这里选择打开后缀名为JSON的编辑配置。

第二步:然后,VsCode会自动生成c_cpp_properties.json文件与.vscode文件夹。

在第一个.c文件中输入一段简单的C语言代码。

然后点击“运行”,“启动调试”。

然后会弹出下图所示界面,选择第一个。

然后选择如下所示的配置。然后等待程序运行。

运行结束后,打开VsCode下方的“终端”,终端将输出程序运行的结果。

点击“资源管理器”,位置如图所示:

会发现自动生成了.vscode文件夹,里面有launch.json文件与tasks.json文件。

使用过程中的经典问题 关于程序运行在cmd终端与VsCode内部终端的切换问题

VsCode默认将你编写的程序的运行输出到cppdbg终端。如下图所示:

若我们不愿意在终端运行程序(因为终端运行时会附带一些文件信息),可以将其更改为在我们熟悉的cmd终端下运行程序。具体操作如下:

点击打开launch.json文件,将"externalConsole"中的false改为true,即将启用外部终端原为false(否)改为true(是)。

然后点击打开hello.c文件,点击运行,便可以通过cmd窗口运行程序了。但是此时会出现两个问题,窗口一闪而过的问题与cmd终端输出中文出现乱码的问题。

窗口一闪而过的问题

原因是launch.json文件没有配置使cmd终端窗口输出结果后暂停的代码指令,也没有在.c文件代码中输入使cmd终端窗口输出结果后暂停的代码。解决方案有两个:

方案一:将launch.json文件中的代码段,如图所示:

将program后的路径复制到args后,program后修改为

C:\\Windows\\system32\\cmd.exe

继续修改此处代码使得与下图保持一致:

此时再次运行.c文件程序就会从cmd弹出结果,且不会闪退。

这样做的优点是可以使以后写的代码程序在VsCode中编译运行时,在cmd终端中不会闪退。但是缺点是,若从计算机中找到生成的hello.exe文件,直接点击运行那么程序仍然会闪退。即来到如图所示的路径下点开hello.exe文件,发现程序闪退。所以需要方案二。

方案二:在编写的代码中添加控制窗口运行的代码。

即在代码文件添加如图所示代码。添加完成后点击运行生成新的.exe文件。

此时来到电脑之前的路径中打开.exe文件

将会发现.exe文件不会闪退。

此方法的优点是此时无论是在VsCode编译运行(在VsCode中运行时注意要在launch文件中启用外部终端),还是到电脑文件夹中打开运行,均不会造成闪退,而且使用方案二时,可以省略掉方案一的所有操作。缺点是每写一次代码文件时就需要添加上述红框中的代码。(网上也有其他的代码来使程序框运行后不直接退出,但本质均为添加代码的方法。)

所以建议是,若只需要在VsCode运行程序在cmd终端输出时应用方案一,当需要生成的文件在电脑的路径下也能运行时不闪退,则在有这样的需求的代码文件中执行方案二。

编码格式不统一导致的中文乱码问题

这个问题的根本原因是cmd终端,VsCode运行启动的终端,编写的代码文件,这三者之间的编码格式不统一。

cmd终端编码格式默认为GBK格式,即简体中文格式,即在cmd终端中输入chcp,显示为“活动页936”(如下图所示)。

而VsCode中默认编写的.c文件格式的编码格式为UTF-8,如图:

VsCode在运行编码文件时内部的终端编码格式为UTF-8。如下图所示:使用VsCode内的终端运行一个简单的c语言程序,得到如下图所示:

在此可以看到,VsCode将程序运行到了cppdbg这个终端,而在这个终端中输入“chcp”,查看这个终端的编码为“65001”,即UTF-8编码,而此时左下角显示UTF-8是hello.c文件编码,所以此时运行的结果“你好世界”,不会出现乱码。

此时根据之前的方法切换到cmd终端运行,由于cmd终端的编码为GBK编码,hello.c文件是UTF-8编码,由于编码格式不一致故此时会显示中文乱码。如下图。

所以中文乱码问题实质是因为编码格式不统一。VsCode内运行.c文件程序的cppdbg终端的编码格式,我目前为止也没有找到更改的方法,但是c文件的编码格式,与cmd终端的编码格式均可以修改,下面给出这两种编码的修改方案。

C文件编码的修改:这里有两种方案第一种便于切换,第二种便于一劳永逸。下面两种均为将UTF-8格式改为GBK格式,也可以用同样的方法改GBK格式为UTF-8格式。

第一种,可以打开.c文件,通过左击右下角的UTF-8(如下图所示),点击“通过编码重新打开”。

下滑找到“GBK编码”,并点击。

此时会发现编写的代码中的“你好世界”变为了乱码,且与之前在cmd终端输出的乱码相同。

说明更改编码格式成功了。将其中的乱码改为“你好世界”,就得到了GBK编码下的“你好世界”的.c文件了。此时若在cmd终端中运行,cmd终端内的中文就不是乱码了,如下图所示:

第二种方法,第一种方法虽然可以改变c文件的编码,但是每次建立c文件通过方式一修改过于麻烦,因为VsCode建立文件时默认建立的是UTF-8编码的文件。实际可以通过修改设置,更改为每次建立文件时默认建立GBK编码的文件。具体做法如下:

在下图所示中,点击齿轮,进入设置,

在设置中输入encoding。

点击UTF-8,找到GBK,点击确定。这样在以后建立文件时,默认建立的文件即为GBK格式。

Cmd终端编码的修改:Cmd终端默认是GBK编码,故下面描述如何更改为UTF-8编码,值得注意的是,更改后可能导致系统在打开一些只认识GBK编码的软件时出现乱码。修改方式如下(修改过程含重启电脑,请注意保存自己的文件):

打开电脑的设置,点击“时间和语言”,如下图所示:

点击找到“日期、时间和区域模式设置”,一般直接出现在如图所示的区域,若此区域没有,可点击左侧栏切换,然后找到此设置。

点击“其他日期,时间和区域设置”,

点击“区域”

点击“管理”,点击“更改系统区域设置”。

在下图中勾选后点击确定,会弹出重启电脑的提示框,重启电脑完成后电脑cmd终端即可变更为UTF-8编码。

重启后打开cmd终端,在其中输入chcp,会发现变为编码变为了“65001”即UTF-8格式编码。

根据上述教程,即可根据自己的想法统一编码,解决中文乱码的问题。为方便决策,在此做出以下建议。若需要来回在cmd终端与VsCode内的cppdbg终端切换,则将系统编码设为UTF-8,而文件编码与cppdbg终端编码默认为UTF-8,此时三者均统一,但是会造成系统以后在打开一些只认识GBK编码的.exe文件时出现乱码。若只用cmd终端输出程序运行结果,则设置默认建立.c文件为GBK格式,使代码文件与cmd终端的格式相同即可。若只用终端,那么不用做任何设置,但就要忍受每次运行程序时总将伴随一些信息在内部的终端中输出。

VsCode使用断点调试时无效的问题

VsCode在默认生成的launch.json文件下编译运行时,不会产生断点调试无效的问题。但根据本文中为解决“窗口一闪而过的问题”的方案一修改launch.json文件后会出现设置断点调试无效的问题。原因是在方案一中将program后更改为了使用cmd终端,如图所示:

而默认生成的launch.json文件中的program为:

故在启用断点调试时无法根据方案一解决cmd窗口闪退的问题,此时可以采用解决窗口闪退问题的方案二,不改变默认文件中的program配置,或者放弃使用断点调试。我的做法是在launch.json文件中

准备两行program代码,通过切换注释的方式,在launch.json中切换program的配置,达到既使用VsCode断点调试也使用方案一的目的。如图所示:

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前文章:VsCode安装+C/C++配置+安装配置过程中的经典问题-创新互联
本文地址:http://cdxtjz.cn/article/dspcjg.html

其他资讯