背景
很多时候我们顺手 console.log("xxxx",变量,变量) ,这里的 XXXX 有时候图识别快,就会用中文来输出,必定搞拼音有点 low,写英文不太熟,拼错了还丢人,所以中文仍然是一个快速识别的手段。
那么,如何将配置终端的中文输出呢?
原因
-
微软为了照顾中文用户,所有的地方基本都是采用 gb2312 或者 gbk,这是一个比较老的故事,那时候互联网还不够大,对全世界的语言的支持都不太行,就只能各自搞各自的编码了
-
之后随着互联网规模越来越大,加入的国家和地区语言越来越多,尤其是编程语言的广泛普及,很多国家的程序员迫切想要支持自己国家的语言文字,于是在这种号召下,UTF-8 出现了,详细参考UTF-8 发展历史以及与 UTF-16/GBK 之间的差异-优快云博客 ,但是微软系统遗留的中文编码的事情并没有随之而改变,大家都只遵循着旧的东西慢慢衰亡,新的东西渐渐升起。
Webstorm 的 Terminal
Shell Path 可以默认可以支持 cmd,git bash,powsershell v1,如果你安装了 powsershell 7,这里也能看到
CMD 控制台
因为需要 chcp 65001 这个指令在终端启动前预设,所以使用 webstorm 的环境配置是没有用的,另外 cmd 也比较古老,所以没有预设文件,只能在注册表中修改,若没发现Autorun,则新建一个,key=Autorun,value=chcp 65001
注意 `chcp 65001` 中间是空格不是 `=`
powsershell V1/V7 共用一个预设
powsershell 有预设配置,使用 everything 搜索 profile.ps1,记得别配错位置了
配置内容
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
# 这里是 webstorm 支持tab 命令行提醒的,powsershell 7 中可用
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
自动提示
中文输出