当前位置:首页 » 《随便一记》 » 正文

VScode设置C/C++编译环境详解

29 人参与  2023年04月02日 08:57  分类 : 《随便一记》  评论

点击全文阅读


一:下载安装C/C++编译器

在windows下有很多集成的编译器,我们只是需要使用gcc.exe 编译而已,所以我们可以随便下,这里推荐使用:MinGW:(附下载官网地址,可直接安装)

https://mirrors.gigenet.com/OSDN//mingw/68260/mingw-get-setup.exe

一直continue,比较关键的两步:

 在菜单栏中选择Installation -> Apply Changes

 安装完成后,需要设置环境变量,让cmd可以找到gcc.exe

在path里添加进D:\software\MinGW\bin 即可

 二:VScode里安装插件

下载.exe的安装版,直接安装

(1)切换中文版

安装完成后,如果想要改成中文的名字

 (2)配置C/C++插件

三:VScode里配置环境(将外部的环境和vscode连接一下)

Ctrl+Shift+P调出命令面板,输入C/C++

配置编译器的路径IntelliSense的模式就可以了

 

配置完成关闭后,会在.vscode里出现如下的json文件(显示了之前的配置,编译器的路径---有就有,没有就没有,不需要修改这个东西) 。

 四:运行和调试C/C++文件

(1)终端手动运行

我们此时就可以直接在终端运行

(2)软件运行C/C++文件

自动运行C/C++文件 需要构建配置任务,即构建指令来运行 gcc 这种命令行指令

两种方法:

第一种:

 

第二种:Ctrl+Shift+P调出命令面板,输入tasks

 再选择

 结果

此时会出现一个名为tasks.json的配置文件,第一种方法中,我们直接运行后,会在控制台输出以下的界面:(此时控制台 显示文件运行结果,终端不会)

 

(3)调试

 所谓调试,就是可以用过打断点来Debug,在调试控制台会输出单步调试的结果。

 

上面的直接调试不正规,一般是需要先配置调试文件:

 (1)一般直接选后上角的调试C/C++文件 ,选中选择C++(GDB/LLDB):就会自动在.vscode目录下出现launch.json

 注:如果没有上述出现,可以点下面的:

 (2)我们发现launch.json是空的,笔者将别人的配置复制过来了

{    // Use IntelliSense to learn about possible attributes.    // Hover to view descriptions of existing attributes.    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387    "version": "0.2.0",    "configurations": [        {            "name": "(gdb) Launch",            "preLaunchTask": "g++.exe build active file",//调试前执行的任务,就是之前配置的tasks.json中的label字段            "type": "cppdbg",//配置类型,只能为cppdbg            "request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称            "args": [],//调试传递参数            "stopAtEntry": false,            "cwd": "${workspaceFolder}",            "environment": [],            "externalConsole": true,//true显示外置的控制台窗口,false显示内置终端            "MIMode": "gdb",            "miDebuggerPath": "D:\\mingw-w64\\x86_64-8.1.0-win32-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",            "setupCommands": [                {                    "description": "Enable pretty-printing for gdb",                    "text": "-enable-pretty-printing",                    "ignoreFailures": true                }            ]        }    ]}

  五:run code代码

Code RUNNER: 轻松编译、运行和调试单个或多个C/C++文件

(1)安装Code Runner插件

 (2)run code

可以安装Code Runner插件:快速运行调试代码,无需配置繁杂的环境。

 安装完成之后就可以用啦!

直接点击:

会发现 显示乱码。一般我不喜欢在这里输出,可以更改设置在终端输出。

右键扩展设置,run in terminel 打勾即可。

再次运行查看:显示正常

   六:设置的更改以及乱码问题 

有时候需要手动设置一下:

1. 插件的设置

我们扩展栏找到安装好的插件,右键扩展设置就可以直接设置相关的参数,例如Code runner的在终端显示等等。

2. vscode整体的settings配置

 使用快捷键:ctrl+shift+p 调出命令窗口,输入settings:这时会有四个选项:

 其中:第二个default settings我们无法自己更改,因此一般不选。

              第一个user settings我们可以手动增加配置参数。

                第四个就是打开UI界面,带有下拉框的设置:

                     第三个就是打开工作区workspace的设置(当前代码路径下.vscode下的settings,一般不设置都是空的。

: 默认的是使用Default Settings 和 User Settings):其实就是一个包含关系,

Default Settings范围最广,User Settings更改当前用户,Workspace Settings只更改当前代码的配置。

 3. vscode乱码问题

(1)GBK 全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification)
(2)UTF-8(8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

:编码格式建议统一保存为UTF-8
 

问题1:打开一个代码,会出现中文乱码?

回答:这是因为我们的软件默认使用UTF-8的格式打开,可能这个代码文件保存的格式不是UTF-8,有可能是GBK,所以我们切换成GBK格式打开就可以了。

问题2:为什么UTF-8代码运行后,在终端会输出汉字乱码?

回答:这是终端显示的问题,一般的cmd默认是GBK编码,但是我们的输出是UFT-8的格式,所以不一致,因此需要更改cmd编码的格式为UTF-8

首先输入chcp查看编码格式,其中GBK2312 的代码页编号是 936。

我们将控制台的运行进行参数设定,统一为UTF8,打开user设置,setting.json中设置加入:

"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],

:/K chcp 65001 >nul 的含义是在运行cmd的时候将编码设置为 65001;
其中>nul 是避免在控制台输出修改编码的信息,否则会输出 active code page: 65001;

如下:输出正确!

总结

(1)要保持输入输出的统一性,输入的代码是UTF-8,那么输出显示的格式也必须是UTF-8,否则就会出现乱码问题。

(2)VScode打开文件默认选择UTF-8,设置"files.autoGuessEncoding": true,令VS Code自动选择合适编码打开文件;如下所示在Settings UI里面也可以设置。

(3)通过命令行或运行键运行程序时,若是UTF-8编码会造成中文乱码,需要在运行命令中添加“chcp 65001”,或者将UTF-8编码转换成GB2312编码;

(4)调试的编码格式,已经默认为UTF-8了。

(5)其他问题参考如下链接:

vscode:四个乱码问题及解决方法_Balaaam的博客-CSDN博客_vscode中文乱码怎么解决

问题3:如果我不想设置上面的终端编码格式,就让他默认GBK,那么怎么能正常显示中文?

答:有两种方法,第一种就是把UTF-8文件保存在GBK代码文件,这样运行的结果也是GBK编码的了,第二种方法就是在编译时设置编码格式,把UTF-8代码编译出GBK编码输出,可以在user settings的配置文件里加入如下代码:

"code-runner.executorMap": { "c": "cd $dir && gcc -fexec-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",         "cpp": "cd $dir && g++ -fexec-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",    },

: 所以有人觉得UTF-8代码输出乱码很麻烦,直接将源代码保存为GBK也是可以理解的。 

同时例如PUTTY等一些远程服务器的软件,可以在软件里设置编码的显示方法,也是很简单的。 


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/57899.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1