LoginSignup
28
26

More than 5 years have passed since last update.

Searchを使い分ける

Last updated at Posted at 2013-12-17

PhpStorm上には数多くの検索機能があります。それぞれ用途が違いますが、多すぎて分かりにくいところもちょこちょこあります。
それぞれの機能について説明してみます。

Find(Cmd+F)

AccountController.php_-_candycane_-____www_candycane_-2.png

一番ベーシックな検索機能です。開いているファイル内に対して文字列検索出来ます。
右のオプションを設定することで[正規表現での検索][大文字小文字完全一致での検索]も切り替えられます。

既に検索状態にある場合にはF3/Shift+F3でそれぞれ次の検索マッチした文字列/前の検索マッチした文字列の箇所にジャンプ出来ます。

また、検索文字列を入力してある状態で検索メニューバーの[Find All]を押すと、以下の様な感じでファイル内Grep表示してくれます。一覧で見れるので地味に便利です。

AccountController.php_-_candycane_-____www_candycane_.png

ちなみに派生機能でFind Word At Caret(Cmd+F3)もあります。こちらはわざわざ検索単語を入力/選択せず、カーソル下の単語に対してFindするような感じです。

Find in Path(Ctrl+Shift+F)

Find_in_Path_と_AccountController.php_-_candycane_-____www_candycane_.png

こちらはプロジェクト全体や特定ディレクトリ配下に対する検索が行えます。
上述のFindよりもオプションが充実していて、

  • 正規表現での検索
  • 大文字小文字完全一致での検索
  • コメント内のみ検索
  • シングルクォートやダブルクォート内の文字列のみ検索
  • 特定拡張子のファイルのみ検索

といったオプションが細かく設定出来ます。

検索結果は以下のように、各ディレクトリのファイル毎にツリー形式で表示されます。ツリー表示の有無など、表示方式は左のメニューからカスタマイズも出来ます。
AccountController.php_-_candycane_-____www_candycane_.png

また、プロジェクトエクスプローラ上でディレクトリを選択している状態でFind in Pathを実行すると、そのディレクトリ配下での検索が出来るので、これも地味に便利です。

AccountController.php_-_candycane_-____www_candycane_-7.png

Find Usages(Ctrl+F7)

AccountController.php_-_candycane_-____www_candycane_.png

カーソル下の変数やメソッド、クラスに対して「そのオブジェクトを使用している/継承している/そのオブジェクトに対して書き込んでいる箇所」を一覧で表示してくれます。

・・・が、PHPという言語の特性上、あまり精度は高くありません。
クラスやメソッド、変数に対してしっかりPHPDocでアノテーションを含めてコメントを書いてやれば正しく機能すると思いますが、個人的にはあまり使わない機能です。

[Find Usages in File]というショートカットもありますが、こちらは上記の機能が現在のファイル内のみ対象になるものです。
上述の理由により、こちらの説明は省略します。

Highlight Usages in file(Cmd+Shift+F7)

AccountController.php_-_candycane_-____www_candycane_.png

こちらは検索ではなくファイル内のハイライトに特化した機能です。
任意の文字列を選択した状態でHighlight Usage in fileを実行すると、そのファイル内でマッチした文字列の箇所がハイライトされます。

上述のSearchでも似たようにハイライトされますが、違いとしては
- 解除(Escape)を押すまでハイライト状態が続くので、マーキングしたままコーディング可能
- 複数の単語をハイライト状態にできる

というところが上げられます。
また、Searchと同様にF3/Shift+F3でハイライトされている文字列にジャンプ出来ます。

28
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
26