VSCode安装后不保留.vsix文件,因其仅作临时安装媒介,解压即删除;需主动从市场下载或通过VsixHub、GitHub Releases等渠道获取。

VSCode 的 .vsix 文件不会长期保留在本地——它只是安装时的临时媒介,解压后即被丢弃。你找不到 .vsix,不是路径记错了,而是它根本没存下来。
VSCode 安装后不保留 .vsix 文件
VSCode 在线安装插件时,会从 Marketplace 下载 .vsix 到临时缓存目录,解包进 .vscode/extensions/ 后就删掉原始文件。这个行为是默认且不可关闭的。
- Windows 缓存位置通常是:
C:\Users\{用户名}\AppData\Roaming\Code\CachedExtensionVSIXs(但该目录仅在安装过程中短暂存在,重启或安装完成即清空) - macOS/Linux 上无对应稳定缓存目录;
code --install-extension命令也只读取一次,不落盘 - 如果你刚点完“安装”,立刻去翻这个目录,可能看到文件;但几秒后刷新就没了
- 别指望靠它做离线备份——它不是设计用来持久保存的
想拿到 .vsix 文件?必须主动下载
唯一可靠方式:在有网环境,通过插件市场页面或命令行主动导出,而不是等 VSCode 自己留一份。
- 在 VSCode 插件市场网页打开目标插件页 → 点右上角 Download Extension(注意不是“Install”按钮)→ 得到
xxx.vsix - 或在已安装插件的机器上,用命令行:
code --list-extensions --show-versions查出插件 ID(如ms-python.python),再用:code --install-extension ms-python.python --force不会生成 vsix,但配合--extensions-dir+ 手动抓包或代理可捕获(不推荐) - VsixHub 等第三方聚合站可直接下载历史版本,适合找旧版 Python/Go 插件
- GitHub Releases 页面有时提供
.vsix(尤其开源插件),但很多只放源码,需用vsce package自行构建
离线安装时 .vsix 文件放哪?路径和权限最关键
code --install-extension 对路径非常敏感,错一个字符或权限不足就会静默失败。
- 路径含空格或中文时,Windows PowerShell / macOS Terminal 必须加英文双引号:
code --install-extension "D:\tools\python-2023.10.1.vsix" - Linux/macOS 下确保
code命令在$PATH中:没执行过Shell Command: Install 'code' command in PATH就会报command not found - 不要把
.vsix放进 VSCode 安装目录的bin/子目录——那是误导性教程的过时做法;放桌面或任意可读路径更安全 - 权限问题常见于 macOS/Linux:如果提示
EACCES,先chmod +x或换用sudo code --install-extension ...(不推荐,改用户数据目录权限更稳妥)
误删 extensions 目录后,.vsix 无法自动恢复
有人清空 .vscode/extensions 想重装插件,结果发现 VSCode 启动后插件列表为空,以为能“自动重下”。其实不会。
- VSCode 不会根据已启用状态反向拉取
.vsix;它只检查目录是否存在合法插件结构 - 若 extensions 目录为空,即使设置里显示“已启用”,也不会触发重新下载——它连 Marketplace 的请求都不会发
- 此时必须手动执行
code --install-extension或重新在线安装,否则插件就是“失踪”状态 - 真正保险的备份方式是导出清单:
code --list-extensions > ext-list.txt,再配合离线.vsix文件一起存档
最常被忽略的一点:VSCode 从不把 .vsix 当作“安装产物”来管理,它只认解压后的目录结构。所以查不到、找不到、删了也没提示,都是设计使然,不是 bug。


















