vscode中文界面必须通过用户级locale.json配置,路径严格对应系统:windows为%appdata%\code\user\locale.json,macos为~/library/application support/code/user/locale.json,linux为~/.config/code/user/locale.json;内容仅允许一行合法json{"locale":"zh-cn"},保存为utf-8无bom,且需彻底退出并重启vs code进程才生效。

locale.json 文件路径必须严格匹配系统类型
VS Code 只在固定路径下读取 locale.json,写错位置等于没配。它不认工作区级或远程配置里的同名文件,也不从 settings.json 里读 locale 字段。
对应路径如下:
- Windows:
%APPDATA%\Code\User\locale.json(等价于C:\Users\{用户名}\AppData\Roaming\Code\User\locale.json) - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
注意:%APPDATA% 和 $HOME 是环境变量,别手动替换成具体用户名再拼路径;用资源管理器或终端直接粘贴这些路径,系统会自动展开。如果路径中出现 .vscode 或 Code - Insiders,说明你进错了目录。
文件内容只允许一行合法 JSON
locale.json 不是普通配置文件,VS Code 对它的格式极其敏感:多一个空格、少一个引号、带 BOM、换行、逗号、注释——全都会导致整个文件被忽略,界面继续英文。
正确内容只能是这一行(且仅此一行):
{"locale":"zh-cn"}
关键点:
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
-
zh-cn必须小写、连字符,不能是zh_CN、ZH-CN、zh-hans或Chinese - 双引号、冒号、花括号必须是英文符号
- 保存编码必须为 UTF-8 无 BOM(用 VS Code 自己新建并保存最稳,别用记事本)
- 如果文件已存在且含其他字段(比如
{"locale":"zh-cn","foo":1}),直接删光,只留上面那一行
改完必须彻底退出再重开
VS Code 后台进程不退出,新配置就加载不了。很多人点了「重新加载窗口」,但右下角语言还是 en,就是因为旧进程还在跑。
操作前确认以下几点:
- 关闭所有 VS Code 窗口,包括最小化到托盘的
- Windows:打开任务管理器,结束所有
Code.exe进程 - macOS:打开活动监视器,搜索并强制退出
Electron和Code Helper - Linux:运行
pkill -f "code.*--no-sandbox"或手动查杀code相关进程 - 重启时务必从桌面图标、开始菜单或终端输入
code启动,不要双击旧项目文件(可能继承旧环境变量)
Remote-SSH / WSL 需要单独配 locale.json
你在本地设好了中文,连上 WSL 或 Remote-SSH 后界面还是英文?不是配置失败,是远程实例根本没读你本地的 locale.json。
远程环境需单独处理:
- 在 WSL 终端或 SSH 连接后的终端中,运行
code --list-extensions确保 VS Code Server 已启动 - 进入远程机器上的路径:
~/.vscode-server/data/Machine/(后面可能带哈希后缀,找最新修改时间的子目录) - 在该目录下新建或编辑
locale.json,内容仍为{"locale":"zh-cn"} - 回到 VS Code 远程窗口,执行命令
Developer: Reload Window(不是 reload 本地窗口)
真正容易被忽略的是:终端集成 Shell(如 bash、zsh)、Git 提示、调试控制台输出默认不随 locale.json 变——它们走各自语言环境,和 VS Code 主界面无关。盯住顶部菜单栏、左侧活动栏 hover 文字、设置页导航栏是否为中文,这三处对了,就是真生效。










