PhpStorm 2026.1 Help

構造検索と置換

従来の検索プロセスでは、ソースコードの構文とセマンティクスが考慮されていません。 正規表現を利用しても、PhpStorm はコードを通常のテキストとして扱います。 構造検索および置換SSR )アクションを使用すると、コード構造を考慮して、コード内の特定のコードパターンまたは文法構造を検索できます。

PhpStorm は、作成した 検索テンプレートと適用した 条件に基づいてソースコードの断片を検索・置換します。

ターゲットを構造的に検索する

  1. メインメニューで 編集 | 検索 | 構造検索 に移動して、 構造検索 ダイアログを開きます。

    構造置換 ダイアログにすばやく切り替えるには、 置換に切り替えアイコン をクリックします。

  2. 構造検索 ダイアログで、次のいずれかの操作を行います。

    • テンプレートを一から作成するには、テンプレート一覧から 下書きテンプレート を選択し、エディターエリアにコードテンプレートを入力します(例: $variable$ でコードを表現)。

      カスタムテンプレートを将来使用するために保存するには、ダイアログツールバーの テンプレートを保存 アイコン(テンプレートを保存ボタン )をクリックします。 テンプレートをインスペクションとして保存することもできます。

      構造検索ダイアログ

      PhpStorm は、作成したテンプレートをテンプレートリストの 最近 ノードに追加します。

    • 既存のテンプレートをプロトタイプとして利用する場合は、利用可能な既存テンプレート一覧から必要なテンプレートを選択します。

      class ExampleClass { public function WRONG() { } public function right() { } }

      クラス内で特定のメソッドを見つけましょう。

      既存のテンプレートの一覧から、 PHP | 一般クラスのすべての public メソッドテンプレートを選択します。

      既存のテンプレートダイアログ

      プロジェクト全体でこれらの構造を検索するには、 検索 をクリックします。

      PhpStorm はエディターで見つかったコード出現箇所を即座にハイライトします。

  3. 構造検索 ダイアログには、選択したテンプレートとそのフィルターの値が表示されます。 既存のフィルターを編集したり、新しい 条件を追加したりできます。 コード変数にキャレットを置き、フィルター領域を使用してフィルターを管理します。

    フィルターの編集ポップアップ
  4. 例: $b$ 変数に条件を追加します。

  5. テキスト 修飾子の場合は、次の正規表現を入力します。

    \b[a-z]\w+\b
    フィルターに正規表現を追加するダイアログ

    この場合、 構造検索 ダイアログで 大文字小文字を区別 チェックボックスを選択すると、PhpStorm は最初のフィールドに小文字が含まれるフィールドのみを検索します。

    選択した言語に応じて、追加のオプションも利用できます。

    例: 次のオプションを確認します。

    • 言語: リストを使用して、検索に含めるファイルの種類を選択します。 この場合は PHP です。

    • ターゲット :リストを使って検索する項目を選択します。 この場合は b です。

      検索ターゲット
    • 再帰 :選択すると、PhpStorm が再帰的に検索を行い、すべてのネストされた項目が結果に含まれます。 例えば、 再帰 を有効化してメソッド呼び出しを検索すると、PhpStorm は foo(foo(foo())) 内のネストされた呼び出しを見つけます。 再帰 を無効にすると、外側の呼び出しのみが検索されます。

    • 挿入されたコード: 選択すると、HTML 内の JavaScript や Java 内の SQL などの挿入されたコードも検索に含まれます。

    • 大文字小文字を区別 :選択すると、検索結果は検索ターゲットの大文字・小文字に一致します。

  6. 検索範囲(プロジェクト、モジュール、ディレクトリ、カスタムスコープ)を指定します。

  7. 検索 をクリックしてください。

    PhpStorm は 検索 ツールウィンドウに結果を表示します。

    ツールウィンドウの検索結果

    新しい検索テンプレート インスペクションを構造検索にカスタムテンプレートとして追加できます。 これを行うには、 検索 ツールウィンドウで テンプレートからインスペクションを作成する をクリックします。 その後、このテンプレートを再利用してコードをインスペクションできます。

ターゲットを構造的に置き換える

  1. メインメニューで 編集 | 検索 | 構造置換 へ移動します。

  2. 構造置換 ダイアログで、新規または 既存のテンプレートを検索に追加し、テンプレート領域を置き換えます。 置換テンプレートは、 検索テンプレートと同じ方法で保存できます。

  3. 置換テンプレート内の変数にフィルターを追加する場合は、目的の変数にキャレットを置き、フィルター領域でフィルターを管理します。

    テンプレートフィルターを置き換える
  4. フィルター領域では、あなたのように選択した内容に応じて、 フィルター条件を指定してください。

  5. 置換結果を絞り込むには、次のオプションを選択します:

    • 修飾名を短縮する​ - 完全修飾クラス名を短縮名およびインポートに置き換えます。

    • 整形 - 置き換えられたコードを自動的にフォーマットします。

    • 静的インポートを使用する - 可能であれば、静的インポートを代わりに使用します。

    必要なオプションを指定したら、 検索 をクリックします。 PhpStorm は 検索 ツールウィンドウに結果を表示します。

  6. 検索 ツールウィンドウでは、結果をさらに操作して、見つかったアイテムを 1 つずつ、または一度にすべて置き換えたり、潜在的な変更をプレビューしたりできます。

検索テンプレートを共有する

検索テンプレートはエクスポートまたはインポートによって仲間と共有できます。

  1. 構造検索 ダイアログ(編集 | 検索 | 構造検索 )で、 新しい検索テンプレートを作成するか、既存のテンプレートを使用します。

  2. テンプレートをエクスポートするには、 テンプレートをクリップボードにエクスポートアイコン をクリックします。 PhpStorm はテンプレートの XML 表現をクリップボードに追加します(内容を見るには Ctrl+Shift+V を押します)。 この表現は、チャット、メール、フォーラムで他の開発者と共有できます。

    テンプレートをインポートするには、共有 XML コードを任意の場所(メール、チャット、フォーラム)からコピー(Ctrl+C )し、 構造検索 ダイアログで テンプレートをクリップボードからインポートアイコン をクリックします。 PhpStorm は XML コード表現を取得し、変数やスコープが存在すればそれを含めてテンプレートに変換します。

2026 年 5 月 22 日