PhpStorm 2020.2 ヘルプ

構造検索と置換の例

メソッド呼び出しの検索

メソッド呼び出しを検索するための最も簡単なテンプレートは $Instance$->$MethodCall$($Arguments$) です。検索ツールウィンドウに、検出されたメソッド呼び出しが表示されます。特定の数の引数を使用してメソッド呼び出しを見つける必要がある場合は、$Arguments$ 変数に対してカウントフィルターを構成できます。

ソースコード内のメソッド呼び出しに移動するには、検索ツールウィンドウ内でそれをダブルクリックします。PhpStorm は対応するファイルをエディターで開き、キャレットをメソッド呼び出しに移動します。

Structural search method call.png

PHP クラスの検索

PHP クラス MyClass をお持ちの場合:

class MyClass {}

それからそれを検索する最も簡単なテンプレートは class $a$ です。

インターフェースの実装の検索

PHP インターフェース MyInterface とそれを実装するクラス Implementation がある場合:

class Implementation implements MyInterface{}

次に、実装を検索するための最も簡単なテンプレートは class $Class$ implements $SomeInterface$ {} です。

子クラスの検索

PHP クラス Parent とそれを拡張するクラス Descendant を持っている場合

class Descendant extends Parent{}

Descendant を検索するための最も簡単なテンプレートは class $Class$ extends $AnotherClass$ {} です

文を検索する

if ステートメントが if($var$){$code$} である場合に検索するための最も簡単なテンプレート

結果として、検出された出現は検索ツールウィンドウに表示されます。ソースコードにナビゲートするために興味があるものをダブルクリックしてください。PhpStorm はエディターで対応するファイルを開き、ステートメントにキャレットを配置します。

Structural search if statement

コメントと文字列リテラルの検索

foo を含むコメントまたはリテラルを見つけるための最も簡単なテンプレートは、$SomethingWeWantToFind$ または "$SomethingWeWantToFind$" です。特定の単語を含むコメント / 文字列(単語として foo など)を検索するには、これをテキスト制約として指定する必要があります。

HTML と XML の例

次の例は、HTML および XML コードで構造検索を使用する方法を示しています。

XML および HTML タグ、属性、およびそれらの値の検索

  • タグを検索する最も簡単なテンプレートは <$tag$/> です。

    変数 $tag$ に制約を設定することにより、検索するタグを指定できます。例: li を指定すると、すべての li タグになります。

    XML および HTML で検索するための次のテンプレートを検討してください: <$tag$ $attribute$=$value$ />。例: $attribute$ 変数にテキストフィルター id を指定し、$value$ 変数にテキストフィルターとして \d+ 正規表現を指定すると、id 属性に数値を持つすべてのタグを見つけることができます。

    Searching for li tags with numeric ids

id 属性が 2 より大きいすべての行を削除する

  1. 検索テンプレートフィールドでは、id 属性の数値(\d+)を持つすべての li タグを検索するテンプレートを作成します。このような値を持つ文字列全体に検索を拡大します(検索対象 = 完全一致)。

  2. これらの行は、Groovy スクリプト d.getText().replaceAll (/" /, '').toInteger() > 2 でフィルタリングします。スクリプトは d 変数の内容を読み取り、それを文字列(たとえば、"1")として返します。次に、スクリプトはすべての引用符を置き換え、文字列値を整数に変換して 2 と比較します。

  3. 置換テンプレートフィールドには、文字列全体を削除するものは何も入れません。検索後、すべて置換を選択して置換を実行します。

    Delete lines with ids greater than 2

p タグのクラス属性の大文字の値を小文字に変換する

  1. 検索テンプレートフィールドでは、class 属性に大文字の値([A-Z].* および大 / 小文字を区別する)を持つすべての p タグを検索するテンプレートを作成します。これらの検索のみを class 値(検索対象 = b)に絞り込みます。

  2. 置換テンプレートフィールドで、新しい変数 $d$ を作成し、それに Groovy スクリプトを割り当てます(b.getText().toLowerCase())。検索後、すべて置換を選択して置換を実行します。

    Replace a target structurally
最終更新日 :