IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> VScode设置C/C++编译环境详解 -> 正文阅读

[开发工具]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 即可

?二: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等一些远程服务器的软件,可以在软件里设置编码的显示方法,也是很简单的。?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:55:18  更:2022-10-17 12:56:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:17:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码