VSCode语言包缓存无法通过刷新图标更新,必须彻底退出进程并手动清理Cache、CachedData及locale.json三类路径,否则locale配置无效、界面局部英文或报Failed to load locale zh-cn。

VSCode 本地语言包缓存不能靠“刷新按钮”更新,必须手动清理三类缓存目录并彻底退出进程,否则 locale.json 修改无效、界面局部英文、甚至报 Failed to load locale zh-cn。
为什么扩展视图点刷新图标(↻)完全没用?
那个图标只重新拉取已注册扩展的元数据(比如描述、评分),对语言包这类 UI 层资源加载链路零影响。它不触发 locale 协商、不重建 NLS(Natural Language Support)模块、也不清翻译快照——本质是 UI 假刷新。
真正起效的操作只有两个:Developer: Reload Window(仅重载渲染进程,部分缓存仍残留)或更彻底的:完全退出 VSCode + 手动删缓存目录。
- Windows 下需在任务管理器中杀光所有
Code.exe和Code Helper进程 - macOS 用户建议执行
killall -9 Code,再补一句lsregister -kill -r -domain user防 LaunchServices 缓存干扰 - Linux 用户用
killall code或pkill -f code确保无残留
必须清理的三个缓存路径及作用差异
语言包异常(如菜单半中半英、设置页英文、右键仍是英文)往往由不同缓存层损坏导致,不能只删一个:
-
%APPDATA%\Code\Cache(Windows) /~/Library/Caches/com.microsoft.VSCode(macOS) /~/.cache/Code(Linux):存 HTTP 响应体、扩展图标、marketplace 描述等,不清会导致 Extensions 视图卡在“加载中”或显示旧版本 -
%APPDATA%\Code\CachedData(Windows) /~/Library/Application Support/Code/CachedData(macOS) /~/.config/Code/CachedData(Linux):存压缩过的语言资源快照(nls.bundle)、UI 字符串映射表,Failed to load locale zh-cn错误 90% 出自这里 -
%APPDATA%\Code\User\locale.json(Windows) /~/Library/Application Support/Code/User/locale.json(macOS) /$HOME/.vscode/locale.json(Linux):这个文件本身不是缓存,但若内容错误(如写成"zh-CN"或"zh_HANS"),VSCode 会静默 fallback 英文——删掉它,重启后会强制重建为正确格式
删完缓存后,界面还是局部英文?检查这三点
缓存清理只是基础动作,界面汉化不全常因配置覆盖或模块加载机制特殊:
- 打开命令面板,运行
Configure Display Language,确认弹出菜单里zh-cn可选且已被勾选;若不可见,说明语言包未成功注册(检查ms-ceintl.vscode-language-pack-zh-hans是否在扩展列表中状态为“已启用”) - 检查用户级
settings.json(Ctrl+, → {})和当前工作区.vscode/settings.json,删掉所有"locale"、"displayLanguage"、"typescript.locale"相关字段——残留值会指向已删除的语言包路径,引发 ERR_INVALID_LANGUAGE_PACK - 右键菜单、GitLens 按钮、终端标签页等“半中半英”区域,官方语言包本就不覆盖;需单独装
shengchen.vscode-chinese-menu补右键,或在settings.json中加"gitlens.language": "zh-cn"
Remote-SSH / WSL 下中文失效,别在本地折腾
VS Code Server 是远程独立进程,它只读远程机器上的 locale.json,不继承本地配置。你在 Windows 上设好一切,连上 WSL 后仍是英文,是因为:
- 远程路径
~/.vscode-server/data/Machine/下某个哈希子目录里,缺少locale.json - 远程
~/.vscode-server/extensions/中没有ms-ceintl.vscode-language-pack-zh-hans-*文件夹
解决方法:登录远程机器,进 ~/.vscode-server/data/Machine/xxx/(找最新修改时间的子目录),新建 locale.json,内容仅 {"locale":"zh-cn"};再用 code --install-extension ms-ceintl.vscode-language-pack-zh-hans 在远程安装一次语言包。
最易被忽略的是:locale.json 必须小写连字符(zh-cn),且 VSCode v1.89+ 要求语言包版本号前缀(如 1.95.)与 code --version 输出严格一致——差一个小版本,新 UI 控件就回退英文。











