使用vscode进行c/c++开发的时候,输出报错乱码、cpp文件本身乱码的问题解决

使用vscode进行c/c++开发的时候,输出报错乱码、cpp文件本身乱码的问题解决

问题描述

本篇文章解决两个问题:

1.当cpp文件出现错误的时候,编译时报错,但是报错内容缺是乱码,如下图所示

2.cpp文件本身是乱码,如下图所示

解决方案

问题1的解决方案

关于问题1,在网上其实没有找到类似的解决方案,因为大多数答案都是问题2的解决方案,因此在这里记录一下我摸索出来的方法。

我只摸索出曲线救国的方法,即将所有报错的中文改为英文,而如何使得中文的报错能够正常显示,我没有找到好的解决方案。

具体方法为:

打开visual studio installer,点击修改。然后点击语言包,将中文(简体)取消勾选,勾选英语。然后点击确定。

然后可能需要重启电脑,重启电脑后,打开visual studio,将语言改为英文,更改方法可参考这里,当然也可能语言被自动更改为英文了,这一步可以省略。

不过,无论如何都是要把中文的语言包卸载掉的,如果装了中文和英文两种语言包,即使将visual studio的语言改成了英文,在vscode中输出仍然会是中文。

如下图所示,.NET framework MSBuild那一行的信息仍然是错误的,这一行的本来内容其实是适用于 .NET Framework MSBuild 版本 17.14.10+8b8e13593,不过这一行乱不乱码其实无所谓,我们可以看到下面那两行的报错已经是正常的了。

问题2解决方案

关于文件本身是乱码,这个网上有很多解决方案,例如这里,然而这些方法需要针对每个文件一个个改,不能一劳永逸,能解决问题但是很麻烦。所以这里给出一种永久性的解决方案。

在vscode里面使用快捷键ctrl+shift+p,然后输入Preferences: Open User Settings (JSON),打开用户设置的json文件。

在setting.json文件里面添加如下内容

复制代码
  "[cpp]": {
    "files.encoding": "gbk"
  },
  "[c]": {
    "files.encoding": "gbk"
  },

这样,无论是使用vscode创建、还是打开c语言相关的文件,都会默认用gbk编码打开,这样就与visual studio的默认编码格式一致,就不会乱码了。

相关推荐
老四啊laosi4 小时前
[C++进阶] 24. 哈希表封装unordered_map && unordered_set
c++·哈希表·封装·unordered_map·unordered_set
妙为5 小时前
银河麒麟V4下编译Qt5.12.12源码
c++·qt·国产化·osg3.6.5·osgearth3.2·银河麒麟v4
weixin_446023565 小时前
C语言:面向过程、应用底层开发、跨平台的通用程序设计语言
c语言·跨平台·数据类型·底层开发·面向过程
无敌昊哥战神7 小时前
深入理解 C 语言:巧妙利用“0地址”手写 offsetof 宏与内存对齐机制
c语言·数据结构·算法
史迪仔01128 小时前
[QML] QML IMage图像处理
开发语言·前端·javascript·c++·qt
cmpxr_9 小时前
【C】数组名、函数名的特殊
c语言·算法
会编程的土豆9 小时前
【数据结构与算法】再次全面了解LCS底层
开发语言·数据结构·c++·算法
低频电磁之道9 小时前
解决 Windows C++ DLL 导出类不可见的编译错误
c++·windows
itman30110 小时前
C语言怎么学?从写程序到玩指针的实操攻略
c语言·指针·结构体·编程学习·资源推荐
君义_noip11 小时前
信息学奥赛一本通 4150:【GESP2509七级】⾦币收集 | 洛谷 P14078 [GESP202509 七级] 金币收集
c++·算法·gesp·信息学奥赛·csp-s