必须通过命令面板执行“extensions: install from vsix”安装中文包,双击或拖拽无效;安装后需确认扩展列表显示“已启用”,并设locale.json为{"locale":"zh-cn"}后彻底重启。

VSCode离线安装中文包后扩展列表不显示?先确认是否真“装进去了”
离线安装 vscode-language-pack-zh-hans 后,在扩展视图(Ctrl+Shift+X)里找不到它,不是刷新问题,而是根本没注册成功。VSCode 不会把未解压的 .vsix 文件自动列进扩展列表——它只显示已激活、有完整元数据记录的扩展。
- 安装时必须走
Extensions: Install from VSIX命令,双击或拖拽.vsix文件无效(VSCode 1.70+ 已禁用) - 安装完成后,扩展列表里应出现
Chinese (Simplified) Language Pack for Visual Studio Code,ID 是ms-ceintl.vscode-language-pack-zh-hans,状态为“已启用” - 如果没出现,说明安装流程中断:可能后台进程未退出、目标路径权限不足、或
.vsix文件损坏(可解压它检查根目录下是否有package.json和extension.vsixmanifest)
扩展列表有中文包但状态异常?别信“刷新按钮”,得重载环境
扩展视图右上角的“刷新”图标(↻)只重新拉取已注册扩展的元数据,对语言包这类 UI 层扩展完全无效。它不会触发 locale 重协商,也不会重建语言资源加载链。
- 真正起作用的是
Developer: Reload Window(Ctrl+Shift+P输入执行),它强制重建整个渲染进程,包括语言包初始化逻辑 - 更彻底的做法是完全退出 VSCode:Windows 查任务管理器杀光所有
Code.exe进程;macOS 用活动监视器结束Electron;Linuxkillall code - 重启后仍不显示?检查
~/.vscode/extensions/(或%APPDATA%\Code\extensions\)下是否存在以ms-ceintl.vscode-language-pack-zh-hans-开头的文件夹——没有就说明.vsix根本没解压成功
手动刷新扩展列表失败的典型信号:界面局部英文
扩展列表里能看到中文包、状态是“已启用”,但菜单栏/设置页/命令面板仍是英文——这不是列表刷新问题,而是语言协商失败。VSCode 启动时读取 locale.json,匹配失败就回退英文。
- 确认
locale.json路径正确:$HOME/.vscode/locale.json(Linux/macOS)或%APPDATA%\Code\locale.json(Windows) - 内容必须是严格小写连字符格式:
{"locale": "zh-cn"},不是zh_HANS、zh-hans或zh-CN - 某些版本(如 1.95+)若设成
zh-hans,会导致设置页、调试面板等新 UI 区域保持英文——这是内部 BCP 47 匹配逻辑决定的,和扩展列表无关 - 改完
locale.json后,必须执行Configure Display Language→ 选zh-cn→Restart,不能只改文件就指望生效
为什么你总想“刷新扩展列表”?其实是被缓存误导了
VSCode 会缓存语言资源加载结果,尤其在离线环境下,一次失败后即使重装语言包,旧缓存仍可能导致扩展列表“看起来正常”但实际未激活。最干净的清理方式不是刷新,而是清空缓存并重启。
- 删除缓存目录:
Windows:del /s /q "%APPDATA%\Code\Cache"
macOS:rm -rf ~/Library/Caches/Code
Linux:rm -rf ~/.cache/Code - 不要只删
extensions目录下的语言包文件夹——那只是卸载,不清理Cache里的资源映射表,重启后仍可能加载失败的快照 - 缓存清理后首次启动会稍慢,因为要重建语言资源索引;若此时界面仍是英文,基本可断定是
locale.json格式错误或 VS Code 版本与语言包不匹配











