IntelliJ IDEA 2026.1 Help

構造検索と置換

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

IntelliJ IDEA は、作成した 検索テンプレートと適用した 条件に基づいて、ソースコードのフラグメントを見つけて置き換えます。

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

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

    構造置換 ダイアログへ素早く切り替えるには、 the Switch to Replace icon をクリックします。

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

    • テンプレートを一から作成する場合は、テンプレートのリストから 下書きテンプレート を選択し、エディター領域にコードテンプレート(例えば、 $variable$ でコードを表現)を入力します。

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

      構造検索ダイアログ

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

    • 既存のテンプレートをプロトタイプとして使用します: 利用可能な既存のテンプレートのリストから必要なテンプレートを選択します。

      例: コードに次のフィールドがあります。

      public class MainActivity { public static final String this_is_wrong = "Hello"; public static final String THIS_IS_CORRECT = "world"; }

      クラスで特定のフィールドを見つけましょう。

      既存のテンプレートのリストで、 Java をクリックし、 クラスベース ノードを開きます(クラスにフィールドが必要なため)。これにより、 クラステンプレートのフィールドがターゲットになります。

      既存のテンプレートリスト

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

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

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

    編集フィルター
  4. 例として、 $Field$ 変数のために テキスト 修飾子を追加しましょう。

  5. テキスト 修飾子については、次の正規表現を入力してください。

    \b[A-Z].*?\b
    フィルターダイアログで正規表現を追加

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

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

    例: 次のオプションを確認してください。

    • 言語: リストから検索に含めるファイル型を選択します。 この場合は、 Java です。

    • ターゲット: リストから検索対象にするアイテムを選択します。 この場合は、 Field です。

      検索ターゲット
    • 再帰: このチェックボックスが選択されている場合、IntelliJ IDEA は再帰検索を実行し、ネストされたすべてのアイテムが結果に含まれます。 例: 再帰 オプションを有効にしてメソッド呼び出しを検索すると、IntelliJ IDEA は foo(foo(foo())) でネストされたメソッド呼び出しを検索します。 再帰 オプションを無効にすると、外部メソッド呼び出しのみが検出されます。

    • 挿入されたコード: このチェックボックスを選択すると、HTML 内の JavaScript や Java 内の SQL など、注入されたコードも検索対象になります。

    • 大/小文字の区別: このチェックボックスを選択すると、検索結果は検索対象の大文字小文字と一致します。

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

  7. 検索 をクリックします。

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

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

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

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

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

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

  3. 置換テンプレート内の変数にフィルターを追加する必要がある場合は、対象の変数にキャレットを置き、フィルター領域を使用してフィルターを管理します。

  4. フィルター領域では、あなたのように選択した内容に応じて、 フィルター条件を指定してください。

    例: 検索した変数 $Field$ を取得し、見つかったテンプレートを小文字に置き換える条件を追加しましょう。

    変数 $Field2$ を呼び出して、基本的に Groovy スクリプトである次のフィルター スクリプトを追加してみましょう: Field.name.toLowerCase()

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

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

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

    • 静的インポートを使用する - 可能であれば、静的インポートを代わりに使用します。 例: このオプションが選択されている場合、静的メソッド Math.abs(i) へのメソッド呼び出しは abs(i) になります。

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

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

    置換テンプレートを 構造検索インスペクションに追加して、コードのクイックフィックスとして使用することもできます。

    置換プレビューのある検索ツールウィンドウ

    置換の結果、大文字が小文字に切り替わりました。

    置換結果

検索テンプレートを共有

エクスポートまたはインポートすることで、検索テンプレートを同僚と共有できます。

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

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

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

2026 年 3 月 30 日