vscode更新后locale.json被重置为"en"是设计行为而非故障,因更新会覆盖该文件;自1.80+起应改用settings.json中配置"locale": "zh-cn"(严格大小写、无注释、utf-8无bom)来持久锁定中文界面,其优先级高于locale.json且支持同步。

VSCode更新后locale.json被重置为"en"是常态,不是故障,必须用settings.json锁定locale才能持久生效。
为什么更新后locale.json总变回英文
VSCode自动更新时会覆盖%APPDATA%\Code\User\locale.json(Windows)或对应平台路径下的文件,把{"locale":"zh-cn"}强行改回{"locale":"en"}。这不是bug,是设计行为——语言包只提供翻译资源,不负责写配置;locale.json本身无写保护机制。
- 新版(1.80+)明确将
settings.json中"locale"字段的优先级设为高于locale.json -
locale.json被覆盖后,即使你手动改回去,下次更新还会丢 - 检查方式:命令面板运行
Configure Display Language,若显示en,说明已被重置
用settings.json强制锁定中文界面
直接在用户settings.json里加一行,比依赖locale.json更稳,且天然参与Settings Sync同步。
- 打开
Ctrl+,→ 右上角“打开设置 (JSON)” - 只添加这一行(确保无逗号、无注释、双引号为英文):
"locale": "zh-CN" - 保存后执行
Developer: Reload Window,无需彻底退出 - 验证:右下角状态栏应显示中文,命令面板搜索“设置”也应是中文
常见踩坑点:大小写、编码、路径全错就静默失败
哪怕只错一个字符,VSCode就会跳过整个settings.json,退回到英文界面。
-
"zh-cn"❌ 必须是"zh-CN"(CN大写),小写在1.80+版本被忽略 - 含
// 注释❌ JSON标准不支持,整文件失效 - 末尾多逗号:
"locale": "zh-CN",❌ 语法错误,配置被跳过 - 用了中文引号“”或单引号
'zh-CN'❌ 不合法,静默回退 - 文件编码含BOM ❌ 必须UTF-8无BOM,否则读取失败
工作区设置可能覆盖用户级locale
如果你当前打开了某个项目文件夹,它的.vscode/settings.json里写了"locale": "en",那它会直接压过你的用户设置。
- 临时验证:菜单
File > Close Folder,再运行Configure Display Language看是否变中文 - 检查项目根目录下
.vscode/settings.json是否存在冲突项 - 企业环境需排查GPO策略或插件(如Settings Sync)是否强制写入了
en
真正容易被忽略的是:settings.json里的"locale"字段在1.70之前无效,但在1.80+已成唯一可靠方案;而locale.json只是过渡期产物,现在只用于兼容旧脚本或调试用途。











