ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

设置vscode终端cmd、powshell、cmder编码为utf-8

2021-01-02 19:00:31  阅读:423  来源: 互联网

标签:cmder utf vscode cmd terminal windows integrated


设置vscode终端cmd、powshell、cmder编码为utf-8

用vscode遇到的一些问题

用vscode写c++程序时,debug调试和直接运行在终端显示的编码格式不一样,导致乱码,要经常改右下角的编码格式,非常麻烦,接下来提供几种方法

运行程序时终端cmd显示的编码设置为utf-8

打开vscode,左上角文件-首选项-设置,搜索框中搜 setting.json
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就好了。
init.bat文件

接下来是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就大功告成了。

标签:cmder,utf,vscode,cmd,terminal,windows,integrated
来源: https://blog.csdn.net/Eom__/article/details/112111008

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有