前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vs中文乱码怎么解决_visual studio code中文乱码

vs中文乱码怎么解决_visual studio code中文乱码

作者头像
全栈程序员站长
发布2022-09-27 11:03:46
3.7K0
发布2022-09-27 11:03:46
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

在Windows下使用VSCode编译运行,都出现中文乱码的问题,今天我就遇见了这种情况,上网搜了半天也没有找到正确的解决方法,现将我把我的方法晒一下.


中文的windows下的cmd默认使用GBK的编码, 每次需要的时候只要在VSCode终端输入命令:chcp 65001, 切换代码页到使用UTF-8就可以解决中文代码的问题,只不过这种方法太麻烦了,每次进入终端都要输入命令,那有没有永久性解决的呢?当然有了。

永久性地修改为VSCode的控制台代码页为65001:

在VSCode中通过打开“文件”--“首选项”--“设置”, 然后在setting.json中设置, 把下面三行复制到里面:

代码语言:javascript
复制
{
    "editor.fontSize": 18,
    "terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
    "terminal.integrated.fontFamily": "Lucida Console",
}

/K chcp 65001 >nul的含义是在运行cmd的时候将编码设置为65001; >nul是避免在控制台输出修改编码的信息,否则会输出active code page: 65001; 同时,赠送两个彩蛋,例如: editor.fontSize: 20(修改字体大小为 20); terminal.integrated.fontFamily:Courier New"(字体修改为 "Courier New"). 这个可以根据自己的需求填写,当然如果不需要的话,可以不写。

如果上述方法出错的话可以试一试下方评论区的

代码语言:javascript
复制
"terminal.integrated.shellArgs.windows": ["-NoExit", "/c", "chcp 65001"]

当然了,如果你能通过修改右下方的GBK或者UTF-8可以解决的话就没必要选择上面的两种方法:

vs中文乱码怎么解决_visual studio code中文乱码
vs中文乱码怎么解决_visual studio code中文乱码

发现如果改成UTF-8的话,通过Run Code运行的话是正常的,但是到了F5调试,弹出的黑框是乱码的,如果改成GBK,那么F5调试是正常的,Run Code是乱码,反正二者不可兼得,大家自己选择。总结下来就是,Run Code运行改成UTF-8,F5调试运行改成GBK,当然这个不是绝对的,还要看一看”terminal.integrated.shellArgs.windows”修改的是什么,如果”terminal.integrated.shellArgs.windows”没有填,好像改成GBK就行了。


2022-01-11更新

额,好久没更新了,今天刚好重新装VSCode又遇到了乱码,就更新一下。 在最新的VSCode里面原有的配置文件的写法已经过时了,官网重新发布了最新的修改方式。

如下图,我们可以自定义许多终端配置,通过下拉列表选择:

集成终端外壳选择下拉菜单
集成终端外壳选择下拉菜单

具体配置示例如下:

在settings.json中,可以使用 pathsource以及一组可选参数来创建配置文件。source可以让 VS Code 检测安装PowerShellGit Bash,或者可以使用path直接指向 shell 可执行文件 。source仅在 Windows 上可用。以下是一些示例配置文件配置:

代码语言:javascript
复制
{
  // windows下
  "terminal.integrated.profiles.windows": {
    // 配置的名字,随便起
    "PowerShell -NoProfile": {
      "source": "PowerShell",
      "args": ["-NoProfile"]
    }
  },
  // linux下
  "terminal.integrated.profiles.linux": {
    "zsh (login)": {
      "path": "zsh",
      "args": ["-l"]
    }
  }
}

我们还可以通过terminal.integrated.defaultProfile.*设置默认终端配置:

代码语言:javascript
复制
{
  "terminal.integrated.profiles.windows": {
    "my-pwsh": {
      "source": "PowerShell",
      "args": ["-NoProfile"]
    }
  },
  "terminal.integrated.defaultProfile.windows": "my-pwsh"
}

扯得有点远了,解决乱码问题,思路还是和原先一样,Windows默认的终端编码为GBK,我们需要在进入终端的时候切换成UTF8格式的,使用chcp 65001来进行切换。

下面我简单地配置了一下cmd和powershell的配置,windows可以通过terminal.integrated.defaultProfile.windows切换不同的默认配置,喜欢用cmd做默认终端的可以选择Command Prompt这个配置,喜欢用PowerShell做默认终端就选择PowerShell配置,根据自己喜好哈。

代码语言:javascript
复制
"terminal.integrated.profiles.windows": {
    "Command Prompt": {
        "path": "C:\\Windows\\System32\\cmd.exe",
        "args": ["-NoExit", "/K", "chcp 65001"]
    },
    "PowerShell": {
        "source": "PowerShell",
        "args": ["-NoExit", "/C", "chcp 65001"]
    }
},
"terminal.integrated.defaultProfile.windows": "Command Prompt"

将以上配置添加在settings.json里最外层的{}里即可(注意!!!,如果{}里之前有内容记得要在最后一行加上一个英文逗号,之后再把配置复制进去),非Windows系统可根据以上配置做相应调整。

vs中文乱码怎么解决_visual studio code中文乱码
vs中文乱码怎么解决_visual studio code中文乱码

我看之前有很多人找不到settings.json在哪,其实在设置里面点击右上角的转换按钮就可以打开。

vs中文乱码怎么解决_visual studio code中文乱码
vs中文乱码怎么解决_visual studio code中文乱码

注意:最近有很多人私信说,在进行C/C++调试的时候会碰见”参数格式不正确 – /d“这个问题,这个有可能是因为,我这个解决乱码的配置是根据最新的VS Code来进行配置的,大家关于C/C++的环境配置是旧的,和我这个乱码配置有了一些冲突,这边可以参考我的另外一篇新文章来进行配置即可解决:VS Code配置C/C++环境

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179110.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2022-01-11更新
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档