Skip to content

Latest commit

 

History

History
77 lines (56 loc) · 1.87 KB

README.md

File metadata and controls

77 lines (56 loc) · 1.87 KB

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 the extensions.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