7 releases
new 0.1.6 | Nov 18, 2024 |
---|---|
0.1.5 | Nov 18, 2024 |
#380 in Parser implementations
120 downloads per month
18KB
221 lines
vsixHarvester
VSCode Extension Downloader in Rust
This Rust program reads the recommendations
array from an extensions.json
file and downloads the corresponding VSIX packages for Visual Studio Code extensions.
Features
- Reads a list of extensions from
extensions.json
. - Downloads the latest version of each extension as a VSIX package.
- Supports proxy configuration.
- Option to force re-download even if the file already exists.
- Provides verbose output for detailed logging.
Prerequisites
- Rust and Cargo installed on your system. You can install them from rustup.rs.
Installation
cargo install vsixHarvester
Usage
vsixHarvester [OPTIONS]
Options
-i
,--input <INPUT>
: Path to theextensions.json
file. Default is./.vscode/extensions.json
.-d
,--destination <DESTINATION>
: Destination folder to save the VSIX files. Default is./.vscode/extensions
.--no-cache
: Force re-download even if the extension file already exists.--proxy <PROXY>
: Proxy URL to use for HTTP requests.-v
,--verbose
: Enable verbose output for detailed logging.-h
,--help
: Print help information.-a
,--arch <ARCHITECTURE>
: OS architecture to install the extensions for.
Example
vsixHarvester \
--input ./your/path/to/extensions.json \
--destination ./your/path/to/extensions \
--no-cache \
--arch win32-x64 \
--verbose
Architecture options
win32-x64
win32-arm64
darwin-x64
darwin-arm64
linux-x64
linux-arm64
extensions.json Format
The extensions.json
file should have the following structure:
{
"recommendations": [
"publisher.extensionName",
"anotherPublisher.anotherExtensionName",
// Add more extensions as needed
]
}
Thanks
- Inspired from offvsix
Dependencies
~7–20MB
~278K SLoC