VSCode locale.json未生效主因是重启不彻底;需彻底结束所有Code进程后全新启动,且路径、格式、远程配置均须严格符合规范,验证以右下角语言代码为准。

locale.json 文件写对了但没生效?重启不彻底是主因
VSCode 读取 locale.json 是在进程启动时一次性加载的,如果后台还有残留进程,新配置根本不会被读取。很多人改完文件点「重新加载窗口」就以为完成了,但 Reload Window 不会重读 locale.json,它只刷新当前渲染进程,语言配置早已固化在主进程中。
- Windows:必须打开任务管理器,结束所有
Code.exe进程(包括隐藏在系统托盘里的) - macOS:用「活动监视器」搜索
Electron或Code,强制退出全部相关进程 - Linux:运行
pkill -f "code --ms-enable-electron-run-as-node"或更稳妥的pkill -f "code",再确认ps aux | grep code无输出 - 改完后不要双击图标或从 Dock 启动旧实例——用终端执行
code命令全新启动,确保加载的是最新配置
locale.json 路径和内容必须严格匹配官方规范
路径错、文件名错、JSON 格式错,任一环节出问题都会导致静默失败——VSCode 不报错,也不提示,直接回退到英文界面。
- 路径必须是用户数据目录下的
User/locale.json:
– Windows:%APPDATA%\Code\User\locale.json
– macOS:$HOME/Library/Application Support/Code/User/locale.json
– Linux:$HOME/.config/Code/User/locale.json - 文件名必须是
locale.json,不能是locale.txt、locale.json.bak或Locale.json(大小写敏感) - 内容只能是严格合法的 JSON:
{"locale":"zh-cn"}—— 小写、连字符、双引号包裹、无逗号、无空格、无注释、无 BOM - 别用记事本或 Sublime Text 直接保存,优先用 VS Code 自己新建并保存该文件,能天然避免编码问题
Remote-SSH / WSL 环境下 locale.json 需单独配置
你在本地配好了 locale.json,连上远程机器后还是英文,不是配置失效,而是 Remote-SSH 和 WSL 启动的是另一个独立的 VS Code Server 实例,它读取的是远程机器上的配置路径,和本地完全无关。
- Remote-SSH 连接后,按
Ctrl+Shift+P运行Developer: Open User Data Folder,进入远程端的User/目录,新建或编辑locale.json - WSL 中先运行
code --list-extensions确认服务已启动,再进~/.vscode-server/data/Machine/(路径含哈希后缀)下的User/locale.json - 远程端的语言包也得单独安装,
ms-ceintl.vscode-language-pack-zh-hans插件不会自动同步过去
验证是否真正生效:只看右下角状态栏语言代码
别依赖菜单栏或设置页是否中文来判断——它们可能因缓存、插件冲突或部分翻译缺失而显示不全。唯一可靠的验证方式是看右下角状态栏最右侧的语言代码(如 zh-cn 或 en),点击它还能快速切换,说明配置已被识别并加载。
- 如果状态栏没显示语言代码,说明
locale.json没被读到,大概率是路径错误或进程未彻底重启 - 如果显示了
zh-cn但部分菜单仍是英文,重点检查是否装了非 Microsoft 签名的中文插件(如Chinese Language Pack),它们会破坏翻译链路 - 企业设备可能被组策略锁定,Windows 下可检查注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\PreferredUILanguages


















