一个Node.js命令行工具,用于自动生成和下载VSCode插件的.vsix文件。
- ✅ 生成VSCode插件下载链接
- ✅ 从插件页面URL自动解析插件信息
- ✅ 下载.vsix文件到本地,支持实时进度显示
- ✅ 批量处理多个插件
- ✅ 彩色命令行输出
- ✅ 详细的错误信息和友好的错误提示
npm install -g vscode-ext-downloader@latest
注意: v1.0.0 和 v1.0.1 版本已被标记为弃用,请确保安装最新版本。
或者直接使用npx:
npx vscode-ext-downloader [command]
安装后可以使用更短的命令 vsdl
:
# 使用快捷别名
vsdl generate maattdd gitless 11.7.2
vsdl download maattdd gitless 11.7.2
vsdl batch example-plugins.json
vsdl generate <publisher> <extension> <version>
vsdl download <publisher> <extension> <version>
vsdl batch <file>
# 基本用法
vscode-ext-downloader generate <publisher> <extension> <version>
# 示例
vscode-ext-downloader generate maattdd gitless 11.7.2
# 从插件市场URL解析
vscode-ext-downloader parse <marketplace-url>
# 示例
vscode-ext-downloader parse "https://marketplace.visualstudio.com/items?itemName=maattdd.gitless"
# 下载单个插件
vscode-ext-downloader download <publisher> <extension> <version>
# 指定输出目录
vscode-ext-downloader download maattdd gitless 11.7.2 -o ./my-plugins
# 示例
vscode-ext-downloader download maattdd gitless 11.7.2
下载过程中会显示实时进度条,包括:
- 下载百分比进度
- 已下载大小/总大小
- 友好的文件大小格式化显示
错误处理:
- 网络连接错误会提示检查网络
- 404错误会显示具体的HTTP状态码
- 其他错误会提供详细的错误信息
首先创建JSON配置文件(参考example-plugins.json
):
[
{
"publisher": "maattdd",
"extension": "gitless",
"version": "11.7.2"
},
{
"publisher": "rooveterinaryinc",
"extension": "roo-cline",
"version": "3.27.0"
}
]
然后运行批量下载:
vscode-ext-downloader batch example-plugins.json
下载过程中会实时显示进度信息,包括:
- 下载百分比(每10%更新一次)
- 已下载文件大小和总大小
- 自动格式化的文件大小(B/KB/MB/GB)
工具提供了详细的错误信息:
- HTTP错误:显示具体的状态码和状态文本
- 网络错误:提示检查网络连接
- 解析错误:提供详细的错误消息
- 文件错误:显示文件操作相关的错误
VSCode插件的下载链接格式为:
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/{发布者}/vsextensions/{插件名}/{版本号}/vspackage
例如:
- 发布者:
maattdd
- 插件名:
gitless
- 版本号:
11.7.2
生成的下载链接:
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/maattdd/vsextensions/gitless/11.7.2/vspackage
项目中包含 example-plugins.json
文件,包含几个常用插件的配置示例。
ISC