在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的安装版,直接安装
安装完成后,如果想要改成中文的名字
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
}
]
}
]
}
Code RUNNER: 轻松编译、运行和调试单个或多个C/C++文件
可以安装Code Runner插件:快速运行调试代码,无需配置繁杂的环境。
安装完成之后就可以用啦!
直接点击:
会发现 显示乱码。一般我不喜欢在这里输出,可以更改设置在终端输出。
右键扩展设置,run in terminel 打勾即可。
再次运行查看:显示正常
有时候需要手动设置一下:
我们扩展栏找到安装好的插件,右键扩展设置就可以直接设置相关的参数,例如Code runner的在终端显示等等。
使用快捷键: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-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ -fexec-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
注: 所以有人觉得UTF-8代码输出乱码很麻烦,直接将源代码保存为GBK也是可以理解的。
同时例如PUTTY等一些远程服务器的软件,可以在软件里设置编码的显示方法,也是很简单的。