VSCode中文语言包不可直接复制文件夹备份,必须保存官方.vscode文件并配置locale.json为{"locale":"zh-cn"},安装后须通过Configure Display Language命令选择zh-cn并点击Restart才能生效。

离线中文包本身不能“备份”,只能重新安装
VSCode 的中文语言包(ms-ceintl.vscode-language-pack-zh-hans)是扩展,不是配置文件;它安装后会被解压到 ~/.vscode/extensions/(Linux/macOS)或 %USERPROFILE%\.vscode\extensions\(Windows),但**直接复制该文件夹无法复用**——缺少 .metadata 注册记录、未写入激活状态、不匹配目标机的 VSCode 版本引擎约束,重启后不会加载。
常见错误现象:把别人电脑上整个 ms-ceintl.vscode-language-pack-zh-hans-1.104.2 文件夹拷过来,VSCode 启动后右下角仍显示 en,扩展面板里也搜不到已启用状态。
- 必须保留原始
.vsix文件(如MS-CEINTL.vscode-language-pack-zh-hans-1.104.2025082016.vsix)——这才是可迁移的安装单元 - 确认该
.vsix的package.json中"engines": {"vscode": "^1.104.0"}与目标机code --version输出主版本号一致(例如1.104.2匹配^1.104.0) - 不要重命名
.vsix为.zip后手动解压再复制——VSCode 不认这种结构
正确备份方式:存 .vsix + 记录 locale 配置
真正需要备份的只有两样东西:能用的 .vsix 文件 和 生效所需的 locale 设置。其他都是冗余操作。
- 把下载好的
MS-CEINTL.vscode-language-pack-zh-hans-*.vsix文件单独存进 U 盘或云盘固定目录(比如/backup/vscode-i18n/) - 检查并记录当前生效的 locale 配置:打开
locale.json(路径见下文),确认内容为{"locale":"zh-cn"}——注意是小写、连字符,不是zh-hans或ZH-CN -
locale.json必须放在用户级路径:
Linux:~/.config/Code/User/locale.json
Windows:%APPDATA%\Code\User\locale.json
macOS:$HOME/Library/Application Support/Code/User/locale.json
恢复时别跳过 Configure Display Language 步骤
即使 .vsix 安装成功、locale.json 写对了,界面仍可能不切换——因为 VSCode 主程序不会自动读取 locale.json 并热更新 UI,必须触发一次显式设置。
- 安装
.vsix后,按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Configure Display Language并回车 - 在弹出列表中选择
zh-cn(不是搜索框里输,是点击选项) - 点
Restart按钮——不是关掉再手动开,是点这个按钮完成完整重载
这一步漏掉,90% 的“汉化失败”就发生在这里。VSCode 不会报错,也不会提示,只是静静维持英文界面。
为什么不用 code --install-extension 命令行安装中文包
code --install-extension *.vsix 在离线环境看似方便,但自 VSCode 1.70 起,该命令对语言包类扩展支持不稳定:它可能静默跳过注册逻辑,或在无网络时无法校验签名,导致扩展出现在 ~/.vscode/extensions/ 但不显示为“已启用”。
- 唯一可靠路径始终是:命令面板 →
Extensions: Install from VSIX→ 手动选文件 - 验证是否真生效:打开扩展面板(
Ctrl+Shift+X),搜ms-ceintl.vscode-language-pack-zh-hans,看右上角是否显示“已启用” - 如果显示“已禁用”或根本搜不到,说明安装流程没走通,必须先
Uninstall再重走一遍命令面板路径
locale.json 里的 zh-cn 是硬编码标识,不是语言标签偏好——填错一个字符,UI 就不会切换。这不是配置问题,是 VSCode 启动时加载资源的入口开关。


















