共有インデックス
インデックス作成時間を短縮する方法の 1 つは、共有インデックスを使用することです。ローカルで作成される通常のインデックスとは異なり、共有インデックスは一度生成され、後で必要なときに別のコンピューターで再利用されます。
PhpStorm は、プロジェクトのコードに共有インデックスを構築して使用できます。PhpStorm は、アプリケーションのインデックスを再作成する必要がある場合はいつでも、利用可能な共有インデックスを使用し、プロジェクトの残りの部分にローカルインデックスを構築します。通常、これは、アプリケーション全体のローカルインデックスを最初から構築するよりも高速です。
プラグインがインストールされていることを確認する
共有プロジェクトインデックスを使用できるようにするには、共有プロジェクトインデックス(英語)バンドルプラグインを設定で有効にする必要があります。
Ctrl+Alt+S を押して設定を開き、
を選択します。インストール済みタブに切り替えて、
Shared Project Indexes
と入力し、その横にあるチェックボックスが選択されていることを確認します。それ以外の場合は、チェックボックスを選択してプラグインを有効にします。
変更を適用してダイアログを閉じます。プロンプトが表示されたら IDE を再起動します。
共有プロジェクトインデックス
共有プロジェクトインデックスは、プロジェクトソースとその依存関係用に作成されます。1 台のコンピューターでインデックスを生成し、それを他のコンピューターに配布することで、各マシンでインデックス作成プロセスが重複するのを防ぐことができます。この方法により、各コンピューターは、コストのかかるインデックス作成操作を個別に実行することなく、事前に計算されたインデックスを活用できます。これが、通常のインデックスと比較した共有インデックスの主な利点です。
共有インデックスの使用は、インデックス作成に長い時間がかかり、関係するチームに不便をもたらす可能性がある大規模なプロジェクトでは合理的です。小規模なプロジェクトの場合、インデックス作成時間を短縮する他の方法をお勧めします。
始める前に
プロジェクト共有インデックスを構築するコンピューターと、プロジェクト共有インデックスを使用するコンピューター:
インデックスの互換性を確保するには、同じ IDE バージョンを使用する必要があります。
異なるオペレーティングシステムを使用できます。
ただし、以前の PhpStorm バージョンでは、共有プロジェクトインデックスは OS 固有でした。このページの左上隅にあるバージョンスイッチャーを使用して、IDE バージョンに対応するドキュメントを参照してください。
共有プロジェクトインデックスをインフラストラクチャに組み込む前に、コマンドラインツールを実行して、インデックス作成にかかる時間をどれだけ節約できるかを評価できます。
結果に満足したら、共有インデックスを引き続き使用できます。より複雑なシナリオでは、IntelliJ 共有インデックスツールの例(英語)リポジトリのサンプルスクリプトをカスタマイズできます。
共有インデックスを使用したインデックス作成時間を評価する
ワークフローで共有プロジェクトインデックスを使用する前に、共有プロジェクトインデックスによってどれだけ時間が節約できるかを確認できます。評価中に、ツールは指定したディレクトリにいくつかのファイルを生成します。
コマンドラインツール(英語)の最新バージョンをダウンロードし、アーカイブを解凍します。
コマンドラインで、コマンドラインツールのディレクトリに移動し、次のコマンドを実行してバイナリファイルを実行します。
.\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/PhpStorm/ch-1/232.8660.153/PhpStorm2024.3 EAP.app" --project "/Users/jetbrains/PhpStormProjects/demo-php-project"しばらくお待ちください。その後、共有インデックスを使用した場合と使用しない場合のインデックス作成時間が表示されます。
時間の違いを確認することで、ワークフローで共有プロジェクトインデックスを使用するかどうかを決定できます。
プロジェクトインデックスを生成する
インデックスファイルを生成するには、次の手順に従います。インデックスが生成されたら、ファイルをファイルサーバーまたは 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
パラメーターで指定されたサーバーにファイルをアップロードする必要があります。
例:
./bin/ij-shared-indexes-tool-cli indexes --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-1/232.8660.153/PhpStorm2024.3 EAP.app" --project "/Users/jetbrains/PhpStormProjects/demo-php-project"プロジェクトインデックスが生成されると、プロジェクトで共有インデックスを構成するために必要な情報を含むメッセージが表示されます。
インデックスを生成すると、indexes
コマンドの実行時に指定したディレクトリに、server と temp の 2 つのフォルダーが表示されます。インデックスファイルは、server ディレクトリ内に保存されます。
ファイルをストレージにアップロードする
インデックスを生成すると、indexes
コマンドの実行時に指定したディレクトリに、server と temp の 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 を作成し、ターミナルからの情報を新しいファイルにコピーします。例:
プロジェクトのインデックスがまだ作成されていない場合、またはシステムキャッシュをクリアした場合、IDE は共有インデックスをダウンロードして使用します。
デフォルト設定では、IDE は共有インデックスを自動的にダウンロードします。これを変更して、ダウンロードごとに手動で確認することもできます。
プロジェクトインデックスは、IDE システムディレクトリの index/shared_indexes にダウンロードされます。
インデックスのダウンロード中は、ステータスバーに進行状況が表示されます。
すべての準備が完了すると、通知ツールウィンドウに対応する通知が表示されます。
インデックスのダウンロード方法を変更する
デフォルト構成では、IDE は共有インデックスを自動的にダウンロードします。すべてのダウンロードを手動で確認できます。
intellij.yaml ファイルから
consents
セクションを削除し、プロジェクトを再起動します。設定ダイアログ (Ctrl+Alt+S) で を選択し、プロジェクト共有インデックス領域でダウンロード前に確認を選択します。
変更を適用し、ダイアログを閉じます。
共有インデックス 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 共有インデックスツールの例(英語)リポジトリからサンプルスクリプトをカスタマイズできます。
関連ページ:
インデックス作成
PhpStorm のインデックス作成は、IDE のコア機能であるコード補完、インスペクション、使用箇所の検索、ナビゲーション、構文のハイライト、リファクタリングを担当します。プロジェクトを開いたとき、ブランチを切り替えたとき、プラグインをロードまたはアンロードした後、大規模な外部ファイルの更新後に開始されます。例: これは、プロジェクトのビルド後にプロジェクト内の複数のファイルが作成または生成された場合に発生する可能性があります。インデックス作成では、プロジェクトのコードを調べて、アプリケーショ...
キャッシュの破棄
PhpStorm は、この IDE バージョンでこれまでに作業したすべてのプロジェクトの大量のファイルをキャッシュするため、システムキャッシュがオーバーロードになる可能性があります。たとえば、頻繁に短期プロジェクトを扱う場合など、キャッシュが二度と必要なくなる場合があります。キャッシュを無効にすると、PhpStorm は、現在のバージョンの IDE で実行されたすべてのプロジェクトのキャッシュファイルを削除します。次回これらのプロジェクトを開いたときに、ファイルが再作成されます。システムキャッシ...
IDE で使用されるディレクトリ
デフォルトでは、PhpStorm は、各 IDE インスタンスのユーザー固有のファイル(構成、キャッシュ、プラグイン、ログなど)をユーザーのホームディレクトリに保存します。ただし、必要に応じて、これらのファイルを保存する場所を変更できます。IDE ディレクトリの場所を変更するたとえば、ユーザープロファイルドライブの容量が不足している場合や低速ディスクにある場合、ホームディレクトリが暗号化されている(IDE の速度が低下している)場合、またはネットワークドライブにある場合は、デフォルトの IDE...