返回

后端调试的神器:vscode console 中解决中文乱码的方法

前端

在vscode上运行node环境,安装runcode插件是一种非常简便的方式。但是初试者常常碰到输出乱码及其他问题。如图所示

image.png

通过参考网上的方法结合实践,终于找到的解决问题的方法。如下,

一、依次点击

  文件 -> 首选项 -> 设置 -> 搜索编码
  在输入框中输入 "编码" 进行查找
  找到 "文件编码""终端编码" 选项,将两者都修改为 "UTF-8"

二、安装iconv-lite包

  npm install iconv-lite --save

三、修改.vsix文件

  1.关闭vscode
  2.找到vscode安装目录,默认为:
  %APPDATA%\..\Local\Programs\Microsoft VS Code\resources\app\extensions\
  3.找到"runcode"插件目录,比如:
  %APPDATA%\..\Local\Programs\Microsoft VS Code\resources\app\extensions\runcode-0.0.14
  4.打开manifest.json文件,找到"main"字段,修改为:
  "main": "out/extension.js"

四、修改扩展的package.json文件

  1.打开package.json文件,修改scripts字段:
  "scripts": {
    "compile": "tsc -p ./",
    "watch": "tsc -w -p ./",
    "postinstall": "node postinstall.js",
    "build": "tsc -p ./ && node postinstall.js"
  },
  2.添加postinstall.js文件,内容如下:
  const fs = require('fs');
  const shell = require('shelljs');
  const code = shell.exec('code --version', {silent: true}).stdout;
  const inspect = /.*?(\d+(\.\d+)+).*/.exec(code)[1];
  const data = fs.readFileSync('out/extension.js', 'utf-8');
  const result = data.replace(/const INSPECT_VERSION = '\d+(\.\d+)+';/, `const INSPECT_VERSION = '${inspect}';`);
  fs.writeFileSync('out/extension.js', result, 'utf-8');

五、修改环境变量

  1.找到环境变量:Path
  2.添加vscode的bin目录,如:
  %USERPROFILE%\AppData\Local\Programs\Microsoft VS Code\bin

六、重启vscode

至此,问题解决,控制台输出不再乱码。

希望本文能帮助到遇到同样问题的朋友,让你的vscode之旅更加愉快!