必须安装microsoft官方中文语言包、配置locale.json为{"locale":"zh-cn"}并彻底重启三者缺一不可;装第三方插件会导致乱码或命令缺失,settings.json设locale无效,remote-ssh/wsl需单独配远程locale.json。

装错插件会导致界面乱码或命令面板崩溃
很多人搜“中文”就随手点安装,结果菜单部分显示英文、Configure Display Language 命令不出现、甚至报错 Cannot read property 'translate' of undefined。根本原因是装了非官方包——比如 Chinese Language Pack、VSCode Chinese Pro 这类第三方插件,它们不随 VS Code 版本更新,有的还注入广告或劫持主页。
必须认准唯一合法插件:
- 完整名称:
Chinese (Simplified) Language Pack for Visual Studio Code - 发布者:
Microsoft(带蓝标认证) - ID:
ms-ceintl.vscode-language-pack-zh-hans - 下载量:超 1000 万次(可作为辅助判断依据)
搜索时直接输入全称,别只输“chinese”或“汉化”,否则容易混入山寨包。
locale.json 是唯一生效配置,settings.json 里写 locale 无效
settings.json 里加 "locale": "zh-cn" 完全不起作用。VS Code 的语言配置只认 locale.json 文件,且该文件必须位于用户数据目录下对应路径:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
内容必须严格为一行标准 JSON:
{"locale":"zh-cn"}
注意:zh_CN、zh-hans、Zh-cn、Chinese 全部无效;双引号不能用中文引号;文件编码必须是 UTF-8 无 BOM。
重启不是“重载窗口”,而是彻底关闭所有进程再启动
点扩展面板右上角的 Reload、执行 Developer: Reload Window 或只是关掉窗口再打开,都不算真正重启。VS Code 后台可能仍有残留进程(尤其是 Windows 任务管理器里的 Code.exe、macOS 活动监视器里的 Electron),它们会继续读取旧配置。
正确做法:
- Windows:任务管理器中结束全部
Code.exe进程 - macOS:活动监视器中查杀
Electron进程,或终端执行pkill -f "Electron.*Code" - Linux:运行
pkill -f "code"
确认进程清空后再双击图标或命令行启动 code。
Remote-SSH / WSL 环境下中文不生效怎么办
本地设好中文,连上 Remote-SSH 或 WSL 后界面还是英文?因为远程实例是独立运行的 VS Code Server,它读的是远程机器上的 locale.json,和本地完全无关。
解决步骤:
- 先确认远程服务已运行:
code --list-extensions能返回列表即正常 - 进入远程配置路径:
~/.vscode-server/data/Machine/(后面通常带一串哈希目录名) - 在该目录下新建或编辑
locale.json,内容仍为{"locale":"zh-cn"} - 在远程窗口中执行
Developer: Reload Window(不是本地窗口)
如果用 Snap/Flatpak 安装的 VS Code,语言包大概率加载失败——换用官方 .deb 或 tarball 版本。
最常被忽略的其实是“三者缺一不可”:装对插件、locale.json 存在且内容合法、VS Code 进程是全新启动的。少一个,右下角状态栏就会固执地显示 en。











