插件安装失败首要排查 ~/.vscode/extensions 目录权限;linux/macos 需属主为当前用户且权限为 drwxr-xr-x,windows 需用户具备“修改”和“写入”权限,避免使用系统保护路径或 wsl 挂载点。

插件安装失败时先查 ~/.vscode/extensions 目录权限
绝大多数“点 Install 没反应”“装完重启就消失”“提示 Extension not found”的问题,根本不是网络或 Marketplace 故障,而是 VSCode 无法把下载好的插件解压写入 ~/.vscode/extensions 目录。这个目录一旦不可写,整个扩展管理器就静默失效。
Linux/macOS 下运行:
ls -ld ~/.vscode/extensions确认输出中属主是你自己(不是
root),且权限包含 drwxr-xr-x 或更宽松;Windows 下右键该目录 → “属性” → “安全” → 查你当前用户是否有“修改”和“写入”权限。
- 若属主是
root:执行sudo chown -R $USER:$USER ~/.vscode/extensions - 若 Windows 显示“拒绝访问”:右键 → “属性” → “安全” → “编辑” → 勾选你的账户的“完全控制”
- 别用
chmod 777或全勾“Everyone”,这会绕过 NTFS 安全模型,反而触发杀软拦截
用 --extensions-dir 自定义路径时必须手动建目录并赋权
很多人以为加了 code --extensions-dir /path/to/dir 就万事大吉,但 VSCode 不会自动创建目录,也不校验写权限——它只管往里塞文件,失败了连错误码都懒得报,直接卡在“Installing…”。
正确流程只有三步,缺一不可:
- 先手动创建目录:
mkdir -p /path/to/dir(Linux/macOS)或mkdir /path/to/dir(PowerShell) - 再确保可写:
chmod 755 /path/to/dir(Linux/macOS)或右键设“完全控制”(Windows) - 最后验证:
touch /path/to/dir/test(Linux/macOS)或新建空文件(Windows)看是否成功
特别注意:不要把路径设在 /usr/local、C:\Program Files 或 /mnt/c(WSL 挂载的 Windows 盘)下——UAC、SELinux 或 WSL 的 NTFS 元数据限制会让写操作直接被系统拒绝,和 VSCode 无关。
离线安装 .vsix 失败?先排除签名与依赖校验
手动拖拽 .vsix 文件进 VSCode 界面,90% 会失败。VSCode 要求原生二进制包,且默认启用签名验证和依赖检查。拖拽方式会跳过校验流程,导致插件虽存入目录却无法激活。
- 必须用命令行安装:
code --install-extension /path/to/plugin.vsix - 检查插件是否依赖其他扩展(如
ms-python.python依赖ms-toolsai.jupyter),离线时得一并安装 - 若企业环境禁用了 HTTPS 校验,可在
settings.json中临时加:"http.proxyStrictSSL": false(仅限可信源) - 别解压
.vsix:它是 ZIP,但 VSCode 只认未解压的原始字节流
WSL 中插件不响应?别在 /mnt/c 下开项目
在 WSL 里打开 /mnt/c/Users/name/project 并启用 ESLint/Prettier 这类监听文件变更的插件,大概率出现“Permission denied”或插件无反应。这不是 VSCode bug,是 WSL 对 Windows 挂载点的权限模型缺陷:/mnt/c 下的文件没有真实 UID/GID、不支持 inotify、无执行位。
唯一可靠解法是把项目移到 WSL 原生路径:
- 移动项目:
mv /mnt/c/Users/name/project ~/project - 用 VSCode Remote - WSL 打开
~/project - 插件立即恢复监听和格式化能力
想保留 Windows 路径访问?只能接受插件功能降级——比如关掉文件监听,改用手动触发格式化,否则权限问题无解。











