C++ 在 windows vscode 上使用 utf-8

20 篇文章 0 订阅
7 篇文章 0 订阅

C++ 在 windows 上使用 utf-8

老样子,不想看吐槽的直接看总结,然后右转;坚持看完的请点个赞让我知道你看完了~Thanks.

目的是实现cpp代码全平台统一

解释一下why,因为unix我改变不了它!!!反观visual studio因为莫名的强大,gbkutf-8均可拿下,但是Windows上的vscode只能运行gbk,现在只需要让vscode灵活起来就OK了。

百度千篇一律的复制粘贴

我不忍想吐槽一下,那些复制粘贴的大佬,你们真的试验成功了吗?fu*k,熬了一个夜,无限的下翻百度,CSDN也被我挖穿,永远都是一样的回答,突然发现了光的时候,什么玩意,娱乐圈乌烟瘴气,IT界也需要开会员引流了?见下图!

  • 好牛皮的CV工程师,好牛皮的CV大佬,我先呕为敬。
    image-20210721100806828

  • 我真的呕了,有技术有必要这样?看ID我更呕了,让我联想到 Kris Wu,我呕够了再来写后续…

image-20210721101014178
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-htExT85G-1626836032511)(C:\Users\94978\AppData\Roaming\Typora\typora-user-images\image-20210721101031994.png)]

1.解决Windows终端

vscode是使用终端运行代码,虽然vscode有自己的集成终端,但是Run Code会自己调用外部终端(因为使用Run Code必须要开启"code-runner.runInTerminal": true),这就导致了C++代码其实是在终端中运行的,请注意我说的是终端

我很想当然的认为终端就是cmd,百度windows 修改 cmd 编码格式,结果是千篇一律但是都是有效的。

Windows + R -- regedit -- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

右键 -- 新建 -- 字符串值 -- 命名:autorun -- 数值:chcp 65001
image-20210721102040633
autorun代表运行,相当于打开cmd就运行了chcp 65001。是的,你想的没错,在vscode里面的终端直接输入也是可以的,但是激活utf-8页面后呢,再次Run Code他会为你新建一个终端,你气不气,就问你气不气。

现在可以试一试是否设置成功:Windows + R -- cmd -- 右键终端窗口 -- 属性

image-20210721102530132

爽翻了,以为万事大吉,看进度条没这么简单。

2.深度理解vscode

在vscode里面当然还是会乱码啦,然后现在要理解一个概念,终端只是一个表现形式,cmd只是一个终端的具体表象,另外一个表象则是Windows PowerShell,恰巧vscode默认用的这个。

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

我以为不能切换,OK,我能改cmd还不能改PowerShell?抱歉,不能,真的不能,CV工程范例;包括我添加autorun也是没有反应的,我气冲冲的冲到PowerShell老家(.exe所在地)也没有任何办法。

思考中:vscode真的不可以切换终端吗?在这里我找到了我要的光。

打开 vscode 设置,搜索终端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c6QPnnkP-1626835679349)(https://i.loli.net/2021/07/21/ZW9ax67YUyXl1rz.png)]

发现终端设置是有69个,我一个一个排查,发现了很多有趣的设置,也发现了我要的光。
image-20210721104039255
搜索terminal win就会发现有关windows下的设置,将default profile设置成 Command Prompt即可,这就是我们刚刚改好的cmd,就又可以开心的敲代码了。

小结

  1. 更改cmd编码:Windows + R -- regedit -- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor右键 -- 新建 -- 字符串值 -- 命名:autorun -- 数值:chcp 65001
  2. 更改vscode设置:设置 -- terminal windefault profile:Windows改为 Command Prompt即可。
  3. 好处,不会影响Windows上其他依赖gbk的程序,因为大部分都是用PowerShell运行的,同时vscode下也可以在gbkutf-8来回切换。
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jacob-xyb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值