PyCharm 2024.1 ヘルプ

共有インデックス

インデックス作成時間を短縮する方法の 1 つは、共有インデックスを使用することです。ローカルで作成される通常のインデックスとは異なり、共有インデックスは一度生成され、後で必要なときに別のコンピューターで再利用されます。

PyCharm は、プロジェクトのコードに共有インデックスを構築して使用できます。PyCharm は、アプリケーションのインデックスを再作成する必要がある場合はいつでも、利用可能な共有インデックスを使用し、プロジェクトの残りの部分にローカルインデックスを構築します。通常、これは、アプリケーション全体のローカルインデックスを最初から構築するよりも高速です。

共有プロジェクトインデックス

共有プロジェクトインデックスは、プロジェクトソースとその依存関係用に作成されます。1 台のコンピューターでインデックスを生成し、それを他のコンピューターに配布することで、各マシンでインデックス作成プロセスが重複するのを防ぐことができます。この方法により、各コンピューターは、コストのかかるインデックス作成操作を個別に実行することなく、事前に計算されたインデックスを活用できます。これが、通常のインデックスと比較した共有インデックスの主な利点です。

共有インデックスの使用は、インデックス作成に長い時間がかかり、関係するチームに不便をもたらす可能性がある大規模なプロジェクトでは合理的です。小規模なプロジェクトの場合、インデックス作成時間を短縮する他の方法をお勧めします。

プラグインがインストールされていることを確認してください

共有プロジェクトインデックスを使用できるようにするには、共有プロジェクトインデックス(英語)バンドルプラグインを設定で有効にする必要があります。

  1. Ctrl+Alt+S を押して設定を開き、プラグインを選択します。

  2. インストール済みタブに切り替えて、Shared Project Indexes と入力し、その横にあるチェックボックスが選択されていることを確認します。

    それ以外の場合は、チェックボックスを選択してプラグインを有効にします。

  3. 変更を適用してダイアログを閉じます。プロンプトが表示されたら IDE を再起動します。

プラグインをインストールする

共有プロジェクトインデックスを使用できるようにするには、共有プロジェクトインデックス(英語)プラグインをインストールします。

  1. Ctrl+Alt+S を押して設定を開き、プラグインを選択します。

  2. マーケットプレースタブに切り替えて、検索フィールドに Shared Project Indexes と入力します。

  3. 使用可能なプラグインのリストでプラグインが見つかったら、その横にあるインストールをクリックします。

  4. 変更を適用してダイアログを閉じます。プロンプトが表示されたら IDE を再起動します。

始める前に

プロジェクト共有インデックスを構築するコンピューターと、プロジェクト共有インデックスを使用するコンピューター:

  • インデックスの互換性を確保するには、同じ IDE バージョンを使用する必要があります。

  • 異なるオペレーティングシステムを使用できます。

    ただし、以前の PyCharm バージョンでは、共有プロジェクトインデックスは OS 固有でした。このページの左上隅にあるバージョンスイッチャーを使用して、IDE バージョンに対応するドキュメントを参照してください。

共有プロジェクトインデックスをインフラストラクチャに組み込む前に、コマンドラインツールを実行して、インデックス作成にかかる時間をどれだけ節約できるかを評価できます。

結果に満足したら、共有インデックスを引き続き使用できます。より複雑なシナリオでは、IntelliJ 共有インデックスツールの例(英語)リポジトリのサンプルスクリプトをカスタマイズできます。

共有インデックスを使用したインデックス作成時間を評価する

ワークフローで共有プロジェクトインデックスを使用する前に、共有プロジェクトインデックスによってどれだけ時間が節約できるかを確認できます。評価中に、ツールは指定したディレクトリにいくつかのファイルを生成します。

  1. コマンドラインツール(英語)の最新バージョンをダウンロードし、アーカイブを解凍します。

  2. コマンドラインで、コマンドラインツールのディレクトリに移動し、次のコマンドを実行してバイナリファイルを実行します。

    .\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"
  3. しばらくお待ちください。その後、共有インデックスを使用した場合と使用しない場合のインデックス作成時間が表示されます。

時間の違いを確認することで、ワークフローで共有プロジェクトインデックスを使用するかどうかを決定できます。

プロジェクトインデックスを生成する

インデックスファイルを生成するには、次の手順に従います。インデックスが生成されたら、ファイルをファイルサーバーまたは S3 互換ストレージにアップロードするを実行する必要があります。

  1. コマンドラインツール(英語)の最新バージョンをダウンロードし、アーカイブを解凍します。

  2. コマンドラインで、コマンドラインツールのディレクトリに移動し、次のコマンドを実行してコマンドライン経由でバイナリファイルを実行します。

    .\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 パラメーターで指定されたサーバーにファイルをアップロードする必要があります。

  3. プロジェクトインデックスが生成されると、プロジェクトで共有インデックスを構成するために必要な情報を含むメッセージが表示されます。

インデックスを生成すると、indexes コマンドの実行時に指定したディレクトリに、servertemp の 2 つのフォルダーが表示されます。インデックスファイルは、server ディレクトリ内に保存されます。

ファイルをストレージにアップロードする

インデックスを生成すると、indexes コマンドの実行時に指定したディレクトリに、servertemp の 2 つのフォルダーが表示されます。インデックスファイルは、server ディレクトリ内に保存されます。

共有インデックスをリモートストレージにアップロードする

  • server ディレクトリから 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 を作成し、ターミナルからの情報を新しいファイルにコピーします。例:

    YAML file with shared indexes

    プロジェクトのインデックスがまだ作成されていない場合、またはシステムキャッシュをクリアした場合、IDE は共有インデックスをダウンロードして使用します。

    デフォルト設定では、IDE は共有インデックスを自動的にダウンロードします。これを変更して、ダウンロードごとに手動で確認することもできます。

プロジェクトインデックスは、IDE システムディレクトリindex/shared_indexes にダウンロードされます。

インデックスのダウンロード中は、ステータスバーに進行状況が表示されます。

すべての準備が完了すると、通知ツールウィンドウに対応する通知が表示されます。

インデックスのダウンロード方法を変更する

デフォルト構成では、IDE は共有インデックスを自動的にダウンロードします。すべてのダウンロードを手動で確認できます。

  1. intellij.yaml ファイルから consents セクションを削除し、プロジェクトを再起動します。

  2. 設定ダイアログ (Ctrl+Alt+S) でツール | 共有インデックスを選択し、プロジェクト共有インデックス領域でダウンロード前に確認を選択します。

    Configuring options for downloading shared indexes
  3. 変更を適用し、ダイアログを閉じます。

共有インデックス CLI コマンドリファレンス

ブースト

プロジェクト共有インデックスを使用してインデックス作成の速度を向上します。オプション:

  • --project : (必須) プロジェクトへのパス。

  • --ij : (必須) ローカルにインストールされた IDE へのパス。

  • --port : ローカルサーバーを実行するためのポート。デフォルトのポートは 25561 です。

  • --data-directory : 生成とサーバーデータに使用するディレクトリ。

インデックス

プロジェクト共有インデックスを生成し、アップロードできるように準備します。オプション:

  • --project : (必須) プロジェクトへのパス。

  • --ij : (必須) ローカルにインストールされた IDE へのパス。

  • --base-url : (必須) インデックスサーバーの URL。

  • --data-directory : 生成とサーバーデータに使用するディレクトリ。

サーバー

ローカルインデックスでサーバーを起動します。オプション:

  • --port : ローカルサーバーを実行するためのポート。デフォルトのポートは 25561 です。

  • --server-directory : サーバーデータのディレクトリ。デフォルトのディレクトリは ./ij-shared-indexes-tool-data/server です。

バージョン

共有インデックスのバージョン情報を表示します。オプション:

  • --ij : ローカルにインストールされた IDE への (必須) パス。

コマンドラインから共有インデックスを引き続き使用できます。より複雑なシナリオでは、IntelliJ 共有インデックスツールの例(英語)リポジトリからサンプルスクリプトをカスタマイズできます。