vscode中文包报错需同步清理三层:扩展目录中ms-ceintl.vscode-language-pack-zh-hans-*文件夹、settings.json中残留的locale配置、缓存路径下的旧翻译快照,且remote-ssh/wsl需单独配置远程locale.json并重启。

VSCode装了中文包还报错,不是语言包坏了,而是残留配置、缓存或路径冲突在后台持续干扰——重装不等于生效,必须同步清理三层:扩展文件、locale 配置、二进制缓存。
删错目录会导致所有插件丢失,只删语言包对应文件夹
VSCode 卸载操作只是禁用,不会删除磁盘上的语言包文件。真正起作用的是 ms-ceintl.vscode-language-pack-zh-hans-* 这类完整文件夹,藏在扩展目录里:
- Windows:
%USERPROFILE%\.vscode\extensions,搜ms-ceintl.vscode-language-pack-zh-hans - macOS/Linux:
~/.vscode/extensions或~/Library/Application Support/Code/Extensions
找到形如 ms-ceintl.vscode-language-pack-zh-hans-2026.5.1 的整个文件夹,直接删掉。别删父级 extensions 目录,否则所有插件都得重装。
settings.json 里残留的 locale 配置会强制加载已卸载的语言包
卸载后,"locale": "zh-cn" 或 "typescript.locale": "zh-cn" 这类配置仍留在 settings.json 中。VSCode 启动时读到它,就会尝试加载根本不存在的语言资源,直接报 ERR_INVALID_LANGUAGE_PACK 或卡在欢迎页。
- 按
Ctrl+Shift+P→ 运行Preferences: Open Settings (JSON) - 搜索
locale、language、lang,逐条确认是否属于已卸载的语言包,整行删掉 - 特别注意工作区根目录下的
.vscode/settings.json,它的优先级高于用户设置,容易被忽略
缓存不清理,新装语言包会复用损坏的翻译快照
VSCode 缓存的 UI 字符串映射表、nls 文件快照等,存在独立缓存路径中。不清空,新装同名语言包会加载旧缓存,导致按钮文字缺失、乱码、悬停提示空白,甚至触发 Failed to load localization。
- Windows:
%APPDATA%\Code\Cache - macOS:
~/Library/Caches/com.microsoft.VSCode - Linux:
~/.cache/Code
删前务必完全退出 VSCode(任务管理器杀光所有 Code.exe 和 Code Helper 进程);macOS 用户建议再执行 lsregister -kill -r -domain user 刷新 LaunchServices。
Remote-SSH / WSL 下汉化失效,是因为 locale.json 没配到远程机器上
本地设了中文,连上 Remote-SSH 或 WSL 后界面还是英文?因为 VS Code Server 是独立进程,它只读远程机器上的 locale.json,不继承本地配置。
- 登录远程机器,进入路径:
~/.vscode-server/data/Machine/(后面是带哈希的子目录) - 在此目录下新建
locale.json,内容严格为:{"locale":"zh-cn"} - 保存后,在远程窗口中执行
Developer: Reload Window(不是本地窗口) - 若远程是 Snap 安装的 VS Code,语言包大概率因沙盒限制失败,换用官方
.deb或tarball包
最容易被跳过的一步是:改完 locale.json 或重装完语言包后,只点 Developer: Reload Window —— 这不会刷新语言上下文。必须点命令面板弹窗里的 Restart,或手动退出所有进程再重开。











