先说几个核心判断:WebStorm 的控制台(Terminal)本身,其实是没法“汉化”的。它显示的是操作系统 Shell 和运行时环境的原始输出,是 IDE 界面的一部分,但不是语言包能覆盖的 UI 文字。所以,大家常说的“汉化控制台”,本质上是在解决一个更具体、也更棘手的问题——中文显示乱码,确保命令和日志里的中文字符能正常呈现。

为什么 Terminal 里中文显示为问号或方块?
问题的根源,并不在于语言包缺失,而在于编码链的断裂——Shell 启动时没用 UTF-8,或者 WebStorm 没把 UTF-8 编码透传给终端进程。具体来说,有这几个常见环节会出问题:
- 在 Windows 上,
chcp 65001没设好,或者 Linux/macOS 下locale输出中的LANG不包含UTF-8,都会导致 cmd/PowerShell/zsh 启动时默认使用本地编码(比如 GBK 或 ISO-8859-1),中文自然就乱码了。 - WebStorm 启动 JVM 时,如果没指定
-Dfile.encoding=UTF-8,Ja va 层可能会 fallback 到系统默认编码,这会影响部分插件或脚本的字符串处理,间接导致乱码。 - 终端字体本身不支持中文字符集——比如用了 Consolas 或 Menlo,却没有启用 CJK 字体回退,那所有中文字符都会变成问号或方块。
Terminal 中文显示正常的三步实操
其实,解决这个问题并不复杂,只要做好这三件事,95% 的乱码问题就能消失:
- 在 WebStorm 的
Settings → Tools → Terminal中,勾选 Override IDE font,然后选一个支持中文字体的等宽字体。推荐JetBrains Mono或Fira Code;macOS 上可以加STHeiti作为回退,Windows 上可以考虑Microsoft YaHei Mono。 - 编辑
bin/webstorm64.vmoptions(Windows/Linux)或bin/webstorm.vmoptions(macOS),在末尾新增一行:-Dfile.encoding=UTF-8。这一步是给 JVM 打上“强制 UTF-8”的补丁。 - Windows 用户:在注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor下新建字符串值AutoRun,值设为chcp 65001 > nul。macOS/Linux 用户:确认 shell 配置文件(~/.zshrc或~/.bashrc)中,有export LANG=en_US.UTF-8或export LC_ALL=zh_CN.UTF-8这样的设置。
Terminal 里哪些内容注定是英文?这不是 bug
还有一些内容,你完全不必白费力气去“汉化”。它们从设计上就是英文的,和 WebStorm 无关:
node运行时的报错堆栈、npm的安装日志、git status的输出——这些全由对应的 CLI 工具自身决定语言,受其LC_MESSAGES环境变量控制。WebStorm 管不着,也不用管。- 第三方 CLI 工具(如
eslint、webpack)的提示语,除非它们自己提供中文 locale 包,否则不会变成中文。 - Quick Documentation(
Ctrl + Q)里的 API 注释,来自 TypeScript Server 或 JSDoc 的原始文本,语言包不介入翻译。
说到底,真正需要盯住的只有两处:终端进程的编码环境是否干净,以及字体是否能渲染中文字符。其他所有“汉化控制台”的说法,不过是混淆了 UI 翻译和终端 I/O 编码的概念。理清这一点,问题就简单多了。