vscode汉化失效的主因是settings.json末尾逗号导致json解析失败而静默忽略全部配置;真正生效的是独立locale.json文件,路径和格式必须严格正确,且需彻底重启。

settings.json 末尾逗号导致汉化失效
VSCode 汉化后界面仍是英文,或弹出 Invalid configuration value、JSON format error 类报错,大概率是 settings.json 里多了一个逗号——尤其在你手动添加中文语言配置或调整其他设置后容易漏掉。
JSON 标准严格禁止对象最后一项后跟逗号,哪怕只多一个 ,,整个文件就会解析失败,VSCode 会静默忽略全部配置(包括 "locale":"zh-cn"),导致汉化不生效。
- 打开命令面板(
Ctrl+Shift+P或Cmd+Shift+P),输入并执行Preferences: Open User Settings (JSON) - 重点检查
}前一行:如果该行以,结尾(比如"editor.fontFamily": "Consolas",),删掉这个逗号 - 别信 VS Code 编辑器右下角的“JSON”语言模式——它默认支持注释和尾逗号(即 JSONC),但汉化逻辑走的是纯 JSON 解析器,不认这些扩展语法
locale.json 路径和格式必须完全匹配
汉化配置不是写在 settings.json 里的,而是单独存放在 locale.json 文件中。放错位置或格式不对,VSCode 就当没这回事。
这个文件必须满足三个硬性条件,缺一不可:
- 路径要对:
~/.vscode/locale.json(macOS/Linux)或%APPDATA%\Code\User\locale.json(Windows),不是settings.json所在目录,也不是项目根目录下的.vscode/ - 内容只能是纯 JSON:
{"locale":"zh-cn"}——不能加注释、不能多字段、不能用单引号、不能有尾逗号 - 改完必须完全退出 VSCode(包括右下角托盘进程),再重新启动;热重载不触发 locale 切换
插件冲突会让汉化配置被覆盖
即使 locale.json 正确,汉化仍失败,可能是其他配置层强行覆盖了语言设置。VSCode 的语言优先级是:启动参数 --locale=en > 用户级 locale.json > 工作区级 .vscode/settings.json 中的 "locale"。
常见干扰源:
- 某些主题插件或 UI 增强类插件(如 One Dark Pro、Custom CSS and JS Loader)会悄悄写入工作区
settings.json,加上"locale": "en"或空值 - 你曾用命令面板执行过
Configure Display Language但中途取消,可能残留了半截配置 - 公司策略或远程开发环境通过
settings.sync同步了英文配置,压过了本地locale.json
查法:打开命令面板,运行 Developer: Toggle Developer Tools,在 Console 标签页搜 locale,看实际生效的是哪一层。
网络问题导致中文包根本没装上
报 ENOTFOUND 或状态栏一直显示“正在加载语言包”,说明 VSCode 启动时连不上微软 CDN,中文包(ms-ceintl.vscode-language-pack-zh-hans)压根没下载下来。
这不是配置问题,而是网络卡在下载环节:
- 关掉 VSCode,手动删掉残留扩展:
~/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-*(macOS/Linux)或%USERPROFILE%\.vscode\extensions\ms-ceintl.vscode-language-pack-zh-hans-*(Windows) - 换手机热点重试一次——校园网或企业防火墙常屏蔽
marketplace.visualstudio.com - 别用第三方镜像源或离线安装包,VSCode 官方语言包不支持非官方分发渠道
真正麻烦的不是逗号或路径,而是你以为改了配置就完事了,其实中文包根本没落地。先确认扩展列表里有 Chinese (Simplified) Language Pack for Visual Studio Code 且状态是“已启用”,再查配置文件。











