vscode同步配置后中文变英文,是因为settings sync只同步locale字段,不安装语言包、不校验格式、不重启;需每台设备手动安装ms-ceintl.vscode-language-pack-zh-hans扩展,严格设locale为"zh-cn"并冷启动重启。

同步配置时中文设置丢失,不是同步本身出了问题,而是 locale 设置和语言包安装被当成两个独立环节处理了——Settings Sync 只管 settings.json 里的字段,不管扩展是否装、路径是否存在、值是否合法。
为什么同步后中文突然变英文
常见现象是:A 机设好中文并同步,B 机拉取配置后界面仍是英文。这不是“同步失败”,而是 B 机缺关键前提:
-
ms-ceintl.vscode-language-pack-zh-hans扩展没装——哪怕settings.json里有"locale": "zh-CN",VSCode 启动时发现本地无对应语言资源,直接跳过该设置 -
locale值写成"zh-cn"或"zh_CN"——VSCode 1.80+ 对大小写和连字符敏感,只认"zh-CN";非法值会导致整份settings.json被忽略(尤其当文件里混有//注释时) - 工作区级
.vscode/settings.json里写了"locale": "en"——它优先级高于用户设置,且不参与同步,但本地存在就会覆盖
确保每台设备都满足两个硬性条件
Settings Sync 不会帮你装扩展、不会校验 locale 格式、也不会重启 VSCode。必须手动确认:
- 在每台设备上打开扩展市场,搜索
Chinese (Simplified) Language Pack for Visual Studio Code(ID 必须是ms-ceintl.vscode-language-pack-zh-hans),点击安装 - 安装后按
Ctrl+Shift+P(Mac 为Cmd+Shift+P),运行Configure Display Language,从列表中**严格选择zh-CN**(不是输入、不是下拉模糊匹配,是点选) - 点弹窗里的
Restart按钮——仅Developer: Reload Window不生效,语言上下文必须冷启动重载 - 重启后检查左下角状态栏是否显示「中文(简体)」,或搜索设置里
locale值是否为zh-CN
同步时避免 locale 被意外覆盖
Settings Sync 默认同步全部 settings.json 内容,但 locale 是个特殊字段:它不该由同步驱动,而应由设备本地环境决定。防误操作建议:
- 在
settings.json中"locale": "zh-CN"这一行上方加注释:// @sync false,部分 sync 插件(如 GitHub Settings Sync)会识别该标记跳过该行 - 若多设备系统语言不一致(如 Win/macOS 混用),改用环境感知写法:
"locale": "${env:VSCODE_LOCALE || 'zh-CN'}",再在各系统手动设环境变量VSCODE_LOCALE=zh-CN - 禁用
Sync: Advanced Options → Toggle Extension Sync——语言包扩展不在默认自动安装白名单里,关掉可防止某台设备误卸载
最常被忽略的一点:语言包的安装路径是设备隔离的。哪怕 settings.json 完全正确,只要某台机器上 ~/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-* 目录不存在,中文就出不来——Settings Sync 管不到二进制资源,只管 JSON 字段。











