# vsixHarvester ## Rust製のVSCode拡張機能ダウンローダー このRustプログラムは、`extensions.json`ファイルから`recommendations`配列を読み取り、対応するVisual Studio Code拡張機能のVSIXパッケージをダウンロードします。 ### 特徴 - `extensions.json`から拡張機能のリストを読み込む。 - 各拡張機能の最新バージョンをVSIXパッケージとしてダウンロード。 - プロキシ設定をサポート。 - ファイルが既に存在していても再ダウンロード可能。 - 詳細なログを表示するオプション。 ### 前提条件 - システムに**Rust**と**Cargo**がインストールされていること。[rustup.rs](https://rustup.rs/)からインストールできます。 ### インストール ```sh cargo install vsixHarvest ``` ### 使用方法 ```sh vsixHarvest [OPTIONS] ``` #### オプション - `-i`, `--input `:`extensions.json`ファイルへのパス。デフォルトは`./.vscode/extensions.json`。 - `-d`, `--destination `:VSIXファイルを保存するディレクトリ。デフォルトは`./.vscode/extensions`。 - `--no-cache`:拡張機能ファイルが既に存在していても再ダウンロードします。 - `--proxy `:HTTPリクエストに使用するプロキシURL。 - `-v`, `--verbose`:詳細なログを表示します。 - `-h`, `--help`:ヘルプ情報を表示。 - `--arch `:拡張機能をインストールする対象OSアーキテクチャ。 #### 使用例 ```sh vsixHarvest \ --input ./your/path/to/extensions.json \ --destination ./your/path/to/extensions \ --no-cache \ --os-arch win32-x64 \ --verbose ``` ##### アーキテクチャオプション - `win32-x64` - `win32-arm64` - `darwin-x64` - `darwin-arm64` - `linux-x64` - `linux-arm64` ### extensions.jsonの形式 `extensions.json`ファイルは以下の構造である必要があります: ```json { "recommendations": [ "publisher.extensionName", "anotherPublisher.anotherExtensionName", // 必要に応じて拡張機能を追加 ] } ``` ### 謝辞 - [offvsix](https://github.com/exaluc/offvsix) に影響を受けました。