VSCode装中文插件后重启仍英文,根本原因是locale.json缺失或格式错误,必须严格为{"locale":"zh-cn"}且置于用户配置目录;仅装插件或备份settings.json无效,因语言控制与插件配置分散存储、相互依赖。

只备份 settings.json 或只装中文插件,VSCode 重启后大概率还是英文界面、插件状态错乱、SSH 连接失效——因为插件配置、语言包、快捷键、片段、甚至 locale 设置是分散存储且相互依赖的。
为什么“装完中文插件就重启”经常不生效
常见现象:安装了 Chinese (Simplified) Language Pack for Visual Studio Code,点了 Restart,界面仍是英文;或者部分菜单变中文,但命令面板、报错提示仍是英文。
-
locale.json缺失或格式错误:必须存在且内容为{"locale":"zh-cn"},路径在%APPDATA%\Code\User\(Windows)、~/Library/Application Support/Code/User/(macOS)、~/.config/Code/User/(Linux) - 多个中文插件冲突:比如同时装了非官方汉化包和微软官方包,VSCode 会优先加载第一个,可能忽略
zh-cn语义 - 启动时未完全退出进程:macOS/Linux 下残留
Code Helper进程,导致新窗口仍读旧 locale 缓存;Windows 需检查任务管理器中是否有Code.exe僵尸进程 - Settings Sync 覆盖了本地
locale.json:如果云端同步开启且上次上传时没包含该文件,恢复后它会被清空
插件配置备份必须包含这 4 类文件/目录
导出 extensions.txt 只能还原插件列表,但无法保证插件行为一致——尤其对含独立配置文件(如 .prettierrc、settings.json 里带 python.defaultInterpreterPath 的插件)或需登录态(如 GitHub Copilot、TabNine)的插件。
-
settings.json:用户级设置,含插件开关、路径、默认解释器等 -
keybindings.json:快捷键绑定,影响插件触发逻辑(如emeraldwalk.runonsave绑定的保存即执行) -
snippets/目录:自定义代码片段,部分插件(如Auto Close Tag)依赖其扩展逻辑 -
extensions/文件夹(可选但推荐):直接拷贝已安装插件目录,避免重装后因网络/权限问题卡在 “Activating Extensions” 状态;注意体积大,适合内网或带宽充足场景
恢复时最容易被忽略的三件事
覆盖完 User 目录、重装完插件后,仍可能遇到连接失败、插件不响应、界面语言回退等问题,根源往往不在主配置,而在这些边缘位置:
-
.ssh/config和known_hosts没同步:Remote-SSH 插件不会从云端拉取,必须手动复制%USERPROFILE%\.ssh(Windows)或~/.ssh(macOS/Linux) -
argv.json丢失:若你用code --locale=zh-cn启动过 VSCode,该文件会记录启动参数,恢复后需手动重建(路径同User目录) - 插件专属配置未迁移:比如
Prettier的用户级.prettierrc、ESLint的eslint.config.js,它们通常放在~/.vscode或项目根目录,不属于 User 目录,必须单独备份
真正可靠的备份不是“多拷几个文件”,而是明确每个文件的作用边界——locale.json 控制界面语言,extensions/ 目录决定插件是否能立即激活,而 .ssh 是 Remote-SSH 的命脉。跨平台迁移时,别信“一键覆盖”,先看路径是否适配、权限是否放开、进程是否清干净。


















