拖.vsix进VSCode没反应,需同时满足:VSCode有系统焦点(Dock图标高亮)、拖入的是原始未解压.vsix文件(unzip -l确认含extension/目录)、本地VSCode版本≥插件package.json中engines.vscode声明的最低版本;全屏或远程桌面会拦截拖放,须退出再试。

直接拖 .vsix 文件进 VSCode 窗口就能装,但 macOS 上最容易卡在“没反应”——不是插件坏了,是三个条件没同时满足。
拖文件进 VSCode 没反应?盯住这三件事
macOS 下拖 .vsix 进去静默失败,90% 是以下任一条件不成立:
- VSCode 没有系统焦点:点击编辑器任意空白处,确认 Dock 图标高亮(不是灰色)
- 拖的是解压后的文件夹或重命名过的 .zip:VSCode 只认原始 .vsix;用
unzip -l your-plugin.vsix看顶层是否含extension/目录 - VSCode 版本低于插件要求:打开 .vsix 解压后的
package.json,查"engines": {"vscode": "^1.85.0"};运行code --version得到 1.84.2 就不够,必须 ≥ 1.85.0
全屏模式、Screen Sharing 或 TeamViewer 远程桌面会拦截拖放事件,退出全屏再试。
code --install-extension 命令总失败?路径和权限是关键
macOS 上这条命令比拖放更可靠,但容错极低:
- 必须用绝对路径:
code --install-extension /Users/you/Downloads/prettier-9.10.3.vsix - 路径含空格或中文?加英文双引号:
code --install-extension "/Users/you/My Extensions/python.vsix" - 报
command not found: code?在 VSCode 里按Cmd+Shift+P,输入Shell Command: Install 'code' command in PATH并执行 - 终端启动 VSCode 后再运行命令,避免 zsh/bash 配置未加载导致 PATH 缺失
装上了却没功能?Vue/Python 插件离线失效的真因
很多插件(如 volarjs.volar、ms-python.python)只装 .vsix 只是注册前端,语言服务器(LSP)二进制要另下:
- 打开一个
.vue或.py文件,等状态栏显示Volar: Ready或Python: Ready,说明 LSP 已落地 - 此时去
~/Library/Application Support/Code/User/globalStorage/和~/.vscode/extensions/下找对应插件目录(如volarjs.volar-1.12.0/),整个文件夹拷到内网机同路径 - ARM Mac(M1/M2/M3)必须用带
darwin-arm64的 vsix;若只有 x64 版,即使安装成功,server/volar-server也跑不起来 - 拷完必须彻底退出 VSCode:菜单栏选
Code → Quit Visual Studio Code,再检查右下角菜单栏图标是否消失
批量部署时别漏掉扩展包(Extension Pack)的依赖展开
比如装 Vue.js Extension Pack,它本身是个壳,真正干活的是 volarjs.volar、octref.vetur、esbenp.prettier-vscode 等子插件:
- 先在联网 Mac 上运行
code --list-extensions > extensions.txt,打开 Vue 项目触发一次完整加载,确保所有子插件都已下载 - 从
extensions.txt提取实际启用的 ID 列表,逐个用vsce download或市场网页下载对应 .vsix - 不要只下载扩展包 ID(如
vue.vuetify),它不会自动拉取依赖插件
离线环境最麻烦的从来不是“怎么装”,而是“装完能不能用”——LSP 二进制、架构匹配、版本对齐,三者缺一不可。尤其 ARM Mac 上,darwin-arm64 这个后缀不是可选项,是运行前提。











