This Rust program reads the recommendations
array from an extensions.json
file and downloads the corresponding VSIX packages for Visual Studio Code extensions.
- 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.
- Rust and Cargo installed on your system. You can install them from rustup.rs.
cargo install vsixHarvester
vsixHarvester [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.
vsixHarvester \
--input ./your/path/to/extensions.json \
--destination ./your/path/to/extensions \
--no-cache \
--arch win32-x64 \
--verbose
win32-x64
win32-arm64
darwin-x64
darwin-arm64
linux-x64
linux-arm64
The extensions.json
file should have the following structure:
{
"recommendations": [
"publisher.extensionName",
"anotherPublisher.anotherExtensionName",
// Add more extensions as needed
]
}
- Inspired from offvsix