VS Code中文界面需同时安装官方中文语言包、将locale.json设为{"locale":"zh-cn"}并彻底重启,三者缺一不可;Settings Sync不同步语言包和locale.json,远程环境需单独配置。

插件同步开启后,中文语言包没跟着同步?
VSCode 的 Settings Sync 默认只同步设置、快捷键、扩展列表,locale.json 和语言包本身不会自动同步——哪怕你装了 Microsoft 官方中文语言包,远程机器或新设备上依然显示英文。
- 同步开关打开后,
settings.json里的"locale"字段会被上传,但这个字段在新版 VSCode(≥1.70)中已被废弃,写进去也无效 - 语言包扩展
ms-ceintl.vscode-language-pack-zh-hans虽然会出现在同步的扩展列表里,但实际安装仍需手动触发(尤其首次登录新设备时) - Remote-SSH / WSL 场景下,
locale.json必须单独写在远程实例路径下:~/.vscode-server/data/Machine/xxx/locale.json,本地同步完全不覆盖它
Configure Display Language 命令在同步环境下失效?
命令面板能调出 Configure Display Language,但选完 zh-cn 后点 Restart 没反应,或者重启后还是英文——大概率是同步覆盖了语言配置,或远程端未就绪。
- 先确认当前 VSCode 实例是否处于“已登录并启用 Sync”状态:右下角用户头像旁有同步图标且为绿色
- 执行
Configure Display Language后,检查是否生成了locale.json文件(路径见下方),而不是只改了settings.json - 如果文件存在但内容不是
{"locale":"zh-cn"},说明 Sync 把旧配置拉下来覆盖了,直接编辑该文件并保存 - Windows 路径:
%APPDATA%\Code\User\locale.json;macOS:~/Library/Application Support/Code/User/locale.json;Linux:~/.config/Code/User/locale.json
多设备间中文界面不一致的真正原因
你在家用笔记本看到中文菜单,在公司台式机却还是英文,并非网络或账号问题,而是语言包安装状态和 locale 配置文件的物理存在性不一致。
- 语言包扩展必须在每台设备上单独安装——Sync 不会帮你下载二进制资源包,只记下“我需要这个插件”
-
locale.json是唯一生效的配置文件,settings.json中的"locale"字段自 VSCode 1.70 起已忽略,留着反而可能干扰 - 某些企业环境禁用了扩展市场,此时只能离线安装
.vsix包,再手动写locale.json,否则 Sync 拉下来的只是一个空壳扩展条目 - 终端、调试控制台、Git 输出始终英文,这不是配置错误,是这些组件不走 VSCode 主 UI 的 NLS 机制,无需折腾
Remote-SSH 连接后界面仍是英文怎么办
本地 VSCode 已汉化,但通过 Remote-SSH 打开的窗口顶部菜单、命令面板还是英文——这是最常被误判为“同步失败”的场景,其实根本没走同步流程。
- Remote-SSH 的 VSCode Server 是独立运行的,它有自己的
locale.json和扩展目录,和本地完全隔离 - 必须登录远程机器,手动创建或修改:
~/.vscode-server/data/Machine/xxx/locale.json(xxx是一串哈希值,可用ls ~/.vscode-server/data/Machine/查看) - 远程端也要安装语言包:在 Remote 窗口按
Ctrl+Shift+X,搜索并安装Chinese (Simplified) Language Pack for Visual Studio Code - 装完别点 “Reload Window”,必须点右下角弹窗的
Restart Now或彻底退出重连,否则语言包不加载
最关键的细节往往藏在路径和文件名里:locale.json 必须小写,必须放在 User 目录下,内容必须是严格 JSON 格式且仅含 {"locale":"zh-cn"} —— 多一个空格、大写 ZH-CN、写成 zh_CN,都会让整个汉化链路静默失效。


















