共有インデックス
共有インデックスを使用すると、PyCharm による プロジェクトの解析にかかる時間を短縮できます。 プロジェクトを解析するたびにローカルで作成される通常のインデックスとは異なり、共有インデックスは一度生成され、必要に応じて他のコンピューターで再利用されます。
PyCharm は、プロジェクトのコードに対して共有インデックスを構築して使用できます。 IDE がプロジェクトを再解析する必要があるときはいつでも、利用可能な共有インデックスを使用し、プロジェクトの残りの部分にはローカルインデックスを構築します。 通常、これはプロジェクト全体をローカルで最初から解析するよりも高速です。
プラグインのインストール
To be able to use shared project indexes, the 共有インデックス (英語) plugin must be installed:
Ctrl+Alt+S を押して設定を開き、 を選択します。
Switch to the マーケットプレース tab, type
Shared Indexesand click インストールする。変更を適用して、ダイアログを閉じます。 プロンプトが表示されたら、IDE を再起動します。
共有プロジェクトインデックス
共有プロジェクトインデックスは、プロジェクトソースとその依存関係に基づいて構築されます。 By generating indexes on a single computer and distributing them to other computers, you can avoid repeating the project analysis process on each machine. これにより、各コンピューターは、高コストなプロジェクト分析操作を個別に実行することなく、事前に計算されたインデックスを活用できます。 これが、通常のインデックスと比較した共有インデックスの主な利点です。
始める前に
共有プロジェクトインデックスを構築するコンピューターと、これらの共有インデックスを使用するすべてのコンピューター:
インデックスの互換性を確保するには、同じ IDE バージョンを使用する必要があります。
異なるオペレーティングシステムを使用できます。
ただし、以前の PyCharm バージョンでは、共有プロジェクトインデックスは OS 固有でした。 このページの左上隅にあるバージョンスイッチャーを使用して、IDE バージョンに対応するドキュメントを参照してください。
共有プロジェクトインデックスをインフラストラクチャに組み込む前に、コマンドラインツールを実行して、プロジェクト分析にかかる 時間をどれだけ節約できるかを評価できます。
結果に満足したら、共有インデックスを使い続けることができます。 より複雑なシナリオでは、 IntelliJ 共有インデックスツールの例(英語)リポジトリからサンプルスクリプトをカスタマイズできます。 たとえば、JSON 設定ファイルを使用して、共有インデックスの生成時に xz 圧縮を無効にしたり、gzip 圧縮を使用したりできます。
共有インデックスを使用してプロジェクト分析時間を評価する
ワークフローで共有プロジェクトインデックスを使用する前に、どれだけの時間を節約できるかを確認できます。 評価中、ツールは指定したディレクトリにいくつかのファイルを生成します。
コマンドラインツール(英語)の最新バージョンをダウンロードし、アーカイブを解凍します。
コマンドラインで、コマンドラインツールのディレクトリに移動し、次のコマンドを実行してバイナリファイルを実行します。
.\bin\ij-shared-indexes-tool-cli.bat boost./bin/ij-shared-indexes-tool-cli boost./bin/ij-shared-indexes-tool-cli boost次のオプションを使用します:
--ij: ローカルにインストールされた IDE への (必須) パス。--project: 共有インデックスを構築するプロジェクトへの (必須) パス。--port: ローカルサーバーを実行するためのポート。 デフォルトのポートは 25561 です。--data-directory: 生成されたインデックスとサーバーデータを保存するディレクトリ。 デフォルトのディレクトリは ./ij-shared-indexes-tool-data です。
例:
./bin/ij-shared-indexes-tool-cli boost --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-1/232.7754.76/PyCharm 2023.2 EAP.app" --project "/Users/jetbrains/PycharmProjects/mySampleProject"しばらくお待ちください。 その後、共有インデックスありとなしのプロジェクト分析時間が表示されます。
時間の差を比較することで、ワークフローで共有プロジェクトインデックスを使用するかどうかを決定できます。
プロジェクトインデックスを生成する
インデックスファイルを生成するには、次の手順に従います。 インデックスが生成されたら、 ファイルをファイルサーバーまたは S3 互換ストレージにアップロードするを実行する必要があります。
コマンドラインツール(英語)の最新バージョンをダウンロードし、アーカイブを解凍します。
コマンドラインで、コマンドラインツールのディレクトリに移動し、次のコマンドを実行してコマンドライン経由でバイナリファイルを実行します。
.\bin\ij-shared-indexes-tool-cli.bat indexes./bin/ij-shared-indexes-tool-cli indexes./bin/ij-shared-indexes-tool-cli indexes次のオプションを使用します:
--ij: (必須) ローカルにインストールされた IDE へのパス。--project: 共有インデックスを構築するプロジェクトへの (必須) パス。--base-url: (必須) インデックスサーバーの URL。 共有インデックスがホストされる完全な URL を定義するために使用されるベース URL。--data-directory: 生成されたインデックスとサーバーデータを保存するディレクトリ。 デフォルトのディレクトリは ./ij-shared-indexes-tool-data です。 このディレクトリから、base-urlパラメーターで指定されたサーバーにファイルをアップロードする必要があります。
プロジェクトインデックスが生成されると、 プロジェクト内の共有インデックスを構成するために必要な情報を含むメッセージが表示されます。
インデックスを生成すると、 indexes コマンドの実行時に 指定したディレクトリに、 サーバー と temp の 2 つのフォルダーが表示されます。 インデックスファイルは、 サーバー ディレクトリ内に保存されます。
ファイルをストレージにアップロードする
インデックスを生成した後、 indexes コマンド実行時に 指定したディレクトリに サーバー と temp というフォルダーが表示されます。 インデックスファイルは、 サーバー ディレクトリ内に保存されます。
共有インデックスをリモートストレージにアップロードする
サーバー ディレクトリから data および project フォルダーをファイルサーバーまたは S3 互換ストレージにアップロードします。 ストレージの場所のベース URL は、インデックスの生成時に
base-urlパラメーターを使用して定義された URL と同じである必要があります。
ローカルでテストするときに共有インデックスを公開する
共有インデックスをテストする場合、 server コマンドを使用して、生成されたファイルでサーバーを起動できます。
コマンドラインで、コマンドラインツールのディレクトリに移動し、次のコマンドを実行してバイナリファイルを実行します。
.\bin\ij-shared-indexes-tool-cli.bat server./bin/ij-shared-indexes-tool-cli server./bin/ij-shared-indexes-tool-cli server次のオプションを使用します:
--port: ローカルサーバーを実行するためのポート。--server-directory: サーバーデータのディレクトリ。 デフォルトのディレクトリは ./ij-shared-indexes-tool-data/server です。
例:
.\bin\ij-shared-indexes-tool-cli.bat server --port 8080 --server-directory "C:\Users\jetbrains\ij-shared-indexes-tool-data\server"./bin/ij-shared-indexes-tool-cli server --port 8080 --server-directory "/Users/jetbrains/ij-shared-indexes-tool-data/server"./bin/ij-shared-indexes-tool-cli server --port 8080 --server-directory "/home/jetbrains/ij-shared-indexes-tool-data/server"
共有インデックスへのアクセスを構成する
プロジェクトインデックスを ファイルストレージにアップロードすると、別のコンピューターにダウンロードして適用できるようになります。
プロジェクトディレクトリで新しいファイル intellij.yaml を作成し、ターミナルからの情報を新しいファイルにコピーします。例えば:

プロジェクトがまだ分析されていない場合、または システムキャッシュをクリアしている場合は、IDE は共有インデックスをダウンロードして使用します。
デフォルト設定では、IDE は共有インデックスを自動的にダウンロードします。 これを変更して、 ダウンロードごとに手動で確認することもできます。
プロジェクトインデックスは、IDE システムディレクトリの index/shared_indexes にダウンロードされます。
インデックスのダウンロード中は、ステータスバーに進行状況が表示されます。
すべての準備が完了すると、対応する通知が 通知 ツールウィンドウに表示されます。
インデックスのダウンロード方法を変更する
デフォルト構成では、IDE は共有インデックスを自動的にダウンロードします。 すべてのダウンロードを手動で確認できます。
intellij.yaml ファイルから
consentsセクションを削除し、プロジェクトを再起動します。設定 ダイアログ(Ctrl+Alt+S )で を選択し、 Project Shared Indexes エリアの ダウンロード前に確認 を選択します。

変更を適用して、ダイアログを閉じます。
ダウンロード済みの共有インデックスを無効化する
無効化後、PyCharm は利用可能な場合、新しい共有インデックスをダウンロードして使用します。 Otherwise, new indexes will be built locally during project analysis.
メインメニューから を選択します。
ダウンロード済みの共有インデックスを無効化する を選択し、 Invalidate and Restart をクリックします。
共有インデックス CLI コマンドリファレンス
- boost
プロジェクト共有インデックスを使用してプロジェクト分析の速度を測定します。 オプション:
--project: (必須) プロジェクトへのパス。--ij: (必須) ローカルにインストールされた IDE へのパス。--port: ローカルサーバーを実行するためのポート。 デフォルトのポートは 25561 です。--data-directory: 生成とサーバーデータに使用するディレクトリ。
- indexes
プロジェクト共有インデックスを生成し、アップロードできるように準備します。 オプション:
--project: (必須) プロジェクトへのパス。--ij: (必須) ローカルにインストールされた IDE へのパス。--base-url: (必須) インデックスサーバーの URL。--data-directory: 生成とサーバーデータに使用するディレクトリ。
- サーバー
ローカルインデックスでサーバーを起動します。 オプション:
--port: ローカルサーバーを実行するためのポート。 デフォルトのポートは 25561 です。--server-directory: サーバーデータのディレクトリ。 デフォルトのディレクトリは ./ij-shared-indexes-tool-data/server です。
- バージョン
共有インデックスのバージョン情報を表示します。 オプション:
--ij: (必須) ローカルにインストールされた IDE へのパス。
コマンドラインから共有インデックスを引き続き使用できます。 より複雑なシナリオでは、 IntelliJ 共有インデックスツールの例(英語)リポジトリからサンプルスクリプトをカスタマイズできます。