3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PhpStormAdvent Calendar 2013

Day 13

ジャンプを使い分ける

Posted at

PhpStormには大きく分けて3種類のGoto Fileのアクションがあります。
それぞれ微妙に役割が異なるので、それぞれの違いを把握しておき、細かく使い分けてやることで目的のファイルへの到達がスムーズになります。

種類は以下の通りです。

  • File(Cmd+Ctrl+N)
  • Class(Cmd+N)
  • Symbol(Cmd+Ctrl+Shift+N)

File

app_…routes.php-candycane-___www_candycane.png

ファイル名を指定してジャンプ出来る機能です。
上段に完全一致 -> 前方一致のファイルが表示され、
後段で後方一致や部分一致のファイルが表示されます。

また、最後に[/]を付けることでディレクトリ名での検索や、
[hoge/fuga/hoge.php]ようにディレクトリ込での検索も出来ます。

ジャンプする先が以下のような場合にはGoto Fileを使ってやるとスムーズに飛べます。

  • 開きたいファイルのファイル名がピンポイントで分かる or 部分的に分かる
  • どのディレクトリにそのファイルがいるか分からないが、ディレクトリ名は分かる
  • そのファイル内にクラスが存在しない(Viewファイルなど)
  • 同一ファイル名のファイルが複数ある(ディレクトリ名込で絞り込み出来る状態)

Class

app_…routes.php-candycane-___www_candycane.png

上述のFileと似ていますが、こちらはクラス名を指定してジャンプする機能です。

上段に完全一致 -> 前方一致のファイルが表示され、
後段で後方一致や部分一致のファイルが表示されます。

クラスが定義されていないファイルには飛べません。

以下のような場合にはこのGoto Classを使ってやるとスムーズに飛べます。

  • ピンポイントで飛びたいクラス名が分かる
  • 飛びたいクラス名の文字列がカーソル下にある
  • ファイル名とクラス名が異なっていて、クラス名が分かる場合(inner classなど)

Symbol

app_…routes.php-candycane-___www_candycane.png

こちらは若干毛色が違い、クラス名やメソッド名、定数やインスタンス変数、cssのclassやIDの定義先に飛びます。

使いどころがかなり難しいコマンドですが、以下の様な時に役に立ちます。

  • 飛び先のファイル名やクラスは分からないが、なんとなく使っている定義している変数が分かる
  • CSSクラス/ID指定での定義元一覧をサッと見たい

などなど…。正直言って僕自身も使いこなせていません\(^o^)/

おまけ

PhpStorm7.1からは上記に加えて[Search Everywhere]というジャンプコマンドが追加になります。

CacheHelper.php_-kihon-___www_kihon.png

これは上記3種類のJumpに加えてFind Action(Cmd+Shift+A)、Recent Files(Cmd+E)も加えたパワフルな機能です。

Find Actionを超える「とりあえずこれさえ覚えておけば大丈夫」というコマンドです。心強い限りです。

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?