设置vscode终端cmd、powshell、cmder编码为utf-8
用vscode遇到的一些问题
用vscode写c++程序时,debug调试和直接运行在终端显示的编码格式不一样,导致乱码,要经常改右下角的编码格式,非常麻烦,接下来提供几种方法
运行程序时终端cmd显示的编码设置为utf-8
打开vscode,左上角文件-首选项-设置,搜索框中搜 setting.json
然后点在setting.json 中编辑
将这段加入配置中
"terminal.integrated.shell.windows":"C:\\WINDOWS\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": [ "/K chcp 65001 >nul"],
保存,重启 一下vscode就好了
运行程序时终端powshell显示的编码设置为utf-8
和cmd的差不多
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"terminal.integrated.shellArgs.windows": ["-NoExit", "chcp 65001"],
保存重启就好
cmder配置成utf-8
如果要用cmder做终端,目前官方给了两种方法,一种是替代cmd的,另外一种是替代powershell的,首先介绍cmd怎样弄,依旧是编辑setting.json文件
"terminal.integrated.shell.windows": "cmd.exe",
"terminal.integrated.shellArgs.windows": [
"/K",
"%CMDER_ROOT%\\vendor\\init.bat"
],
然后在cmder存放目录下找到vendor文件夹,点进去,右键用记事本打开init.bat,在@echo off 后面添加 chcp 65001>nul 保存,重启vscode就好了。
接下来是powershell的,同理
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"terminal.integrated.shellArgs.windows": [
"-ExecutionPolicy", "Bypass",
"-NoLogo", "-NoProfile", "-NoExit",
"-Command", ". '%CMDER_ROOT%\\vendor\\conemu-maximus5\\\\..\\\\profile.ps1'"
]
%CMDER_ROOT%为cmder的存放目录,然后打开%CMDER_ROOT%\vendor\profile.ps1文件,在最后添加$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding,保存,重启vscode就大功告成了。