VSCode汉化失效主因是locale.json文件被插件写坏或覆盖,需确保其内容严格为{"locale":"zh-cn"}并完全重启;多语言包冲突、远程开发路径错位、settings.json中locale字段被覆盖及权限问题亦常见。

VSCode 插件管理界面仍是英文,90% 是 locale.json 被插件写坏或覆盖了,不是插件没装——它只读这个文件,且内容错一个字符就静默回退英文。
插件自动改 locale.json 导致汉化失效
某些插件(尤其是旧版中文增强包、多语言切换工具、企业策略同步插件)会直接写入 locale.json,但格式不合规:比如写成 {"locale": "zh-CN"}(大写 CN)、{"locale":"zh_cn"}(下划线)、或多加字段如 "fallback": "en"。VS Code 读到非法 JSON 或非法值,立刻放弃加载,退回英文界面。
- 打开对应路径的
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":"zh-cn"}(小写、短横线、无空格、无注释、无逗号、双引号为英文) - 保存后,**必须完全退出 VS Code(包括托盘进程)再重新启动**,仅
Developer: Reload Window无效
多个中文语言包共存引发冲突
VS Code 只允许一个 zh-cn locale 生效。若安装了多个“Chinese Language Pack”类插件(比如发布者是 ms-ceintl 以外的),它们会在启动时争抢注册,最终可能加载失败或显示乱码。
- 按
Ctrl+Shift+P输入Configure Display Language,执行后看下拉列表里是否出现多个zh-cn选项 —— 出现即说明冲突 - 打开扩展面板(
Ctrl+Shift+X),搜索chinese,停用所有非官方插件,只保留 ID 为ms-ceintl.vscode-language-pack-zh-hans的那个(发布者必须是 Microsoft) - 卸载后重启,再运行一次
Configure Display Language→ 选zh-cn→ 点Restart
远程开发(SSH / WSL / Dev Container)中 locale.json 路径错位
本地配置的 locale.json 对远程窗口完全无效。Remote-SSH 启动的是独立的 VS Code Server 实例,它只读远程机器上的对应路径,且该路径和本地不同。
- 连接远程后,在远程终端中执行:
code --list-extensions确认服务已就绪 - 进入远程路径:
~/.vscode-server/data/Machine/下某个哈希命名的子目录(如abc123...) - 在该子目录下创建或编辑
locale.json,内容严格为:{"locale":"zh-cn"} - 保存后,在**远程窗口内**执行
Developer: Reload Window(不是本地窗口!)
settings.json 中的 locale 字段被插件覆盖
VS Code 1.80+ 支持在 settings.json 中直接写 "locale": "zh-cn",优先级高于 locale.json。但部分插件(如 Settings Sync 增强版、多环境配置管理器)可能在同步或初始化时清空或覆盖该字段。
- 打开设置 JSON(
Ctrl+,→ 右上角「打开设置 (JSON)」),检查是否存在"locale": "zh-cn" - 若不存在或被改成
"en",手动补上并保存 - 确认你用的同步方案(如 GitHub Settings Sync)已启用
User Settings同步项,且未勾选「排除 locale 字段」类选项 - 如果插件频繁重写该字段,建议禁用可疑插件后测试,再逐个启用排查
真正难定位的是:文件路径对、内容对、插件也对,但右下角状态栏仍显示 en —— 这往往意味着有后台进程残留(比如 Code Helper (Renderer) 没杀干净),或者某次更新把 locale.json 所在目录权限锁死了(尤其 macOS/Linux 上的 ~/.config/Code/User/)。这时候别反复试命令,直接删掉整个 User 目录下的 locale.json,再走一遍 Configure Display Language 流程最省事。


















