VSCode插件安装卡顿或失效多因.extensions-tmp锁死或缓存损坏,需彻底退出VSCode后依次清理.extensions-tmp、CachedExtensions及-cache子目录,并确保locale.json使用"zh-hans"格式且无BOM。

VSCode插件市场安装卡在99%、装完不生效、甚至报“Unable to load extension”,八成不是网络或插件本身的问题,而是 .extensions-tmp 临时目录被锁死或残留损坏导致的连锁故障。
为什么删了.extensions-tmp还卡住?
VSCode 安装插件时会先下载 .vsix,再解压到 .extensions-tmp,最后原子性地重命名为正式扩展目录。一旦这个过程被中断(杀软拦截、权限不足、进程残留),.extensions-tmp 就会卡在半解压状态——它不报错,但后续所有安装都会排队等待这个“幽灵任务”释放锁。
- Windows 路径:
%USERPROFILE%\.vscode\.extensions-tmp - macOS/Linux 路径:
~/.vscode/.extensions-tmp - 必须彻底退出 VSCode:任务管理器里确认没有
Code.exe、Code Helper.exe、node.exe(尤其 Remote 场景) - 删完别急着启动:VSCode 重启时会复用旧缓存,得清空
CachedExtensions才能断干净
extensions 目录里一堆 -cache 后缀文件夹是啥?
这些是语言服务类插件(如 ms-python.python、ms-vscode.vscode-typescript-next)运行时生成的本地缓存副本,不是临时文件,但极易因更新中断而损坏,直接导致“跳转定义失败”“格式化无响应”。
- 只删名字含
-cache的子目录(如ms-python.python-2024.12.0-cache),别碰同名主目录(如ms-python.python-2024.12.0) - 路径统一在
~/.vscode/extensions/下,Windows/macOS/Linux 都一样 - 删完重启,VSCode 会自动重新下载并解压最新版插件,不是恢复旧状态
装完中文包还是英文?检查 locale.json 的值是否合规
VSCode 1.85+ 不认 "zh-CN" 或 "zh",只接受严格小写的 "zh-hans"(注意是短横线,不是下划线)。
- 文件位置固定:
%APPDATA%\Code\User\locale.json(Windows)、$HOME/.vscode/locale.json(macOS/Linux) - 改完必须完全退出 VSCode:关掉所有窗口 + 右键托盘图标选 “Quit”,不能只点 “Developer: Reload Window”
- 别用记事本保存:UTF-8 BOM 格式会导致 JSON 解析失败,界面直接回退英文
离线安装 .vsix 后提示 “Unable to load extension”
这不是文件损坏,而是 VSCode 默认仍会尝试联网校验签名。哪怕你已断网,它也会先发请求,失败后才 fallback 到本地加载——而这个流程可能被跳过。
- 最稳做法:拔网线 / 关 Wi-Fi → 启动 VSCode → 拖入
.vsix→ 安装 - 若仍失败,在
settings.json加:"extensions.installVerification": false(仅调试用,验证完务必删掉) - 检查
.vsix解压后的package.json中engines.vscode字段,比如你 VSCode 是 1.90.2,插件写的是"^1.92.0",就真不兼容
真正麻烦的不是清理动作本身,而是 VSCode 对缓存状态的强依赖——它不会告诉你哪一层坏了,只会静默跳过。所以每次清理,都要按顺序断掉 .extensions-tmp → CachedExtensions → Cache,漏掉任意一环都可能让问题复发。


















