VScode设置C/C++编译环境详解 |
您所在的位置:网站首页 › vscode没有终端结果显示 › VScode设置C/C++编译环境详解 |
一:下载安装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 即可 下载.exe的安装版,直接安装 (1)切换中文版安装完成后,如果想要改成中文的名字 Ctrl+Shift+P调出命令面板,输入C/C++ 配置编译器的路径和IntelliSense的模式就可以了 配置完成关闭后,会在.vscode里出现如下的json文件(显示了之前的配置,编译器的路径---有就有,没有就没有,不需要修改这个东西) 。 我们此时就可以直接在终端运行了 自动运行C/C++文件 需要构建配置任务,即构建指令来运行 gcc 这种命令行指令 两种方法: 第一种: 第二种:Ctrl+Shift+P调出命令面板,输入tasks 再选择 结果: 此时会出现一个名为tasks.json的配置文件,第一种方法中,我们直接运行后,会在控制台输出以下的界面:(此时控制台 显示文件运行结果,终端不会)
所谓调试,就是可以用过打断点来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插件可以安装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只更改当前代码的配置。 (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- $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "cpp": "cd $dir && g++ -fexec-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", },注: 所以有人觉得UTF-8代码输出乱码很麻烦,直接将源代码保存为GBK也是可以理解的。 同时例如PUTTY等一些远程服务器的软件,可以在软件里设置编码的显示方法,也是很简单的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |