Home JavaScript Greasemonkey PHP

瞬間移動でストレスフリー!Eclipse 移動系ショートカット集2012-06-17


Eclipse 上で Java を使って開発をする際、「大量のファイル・コードの中から、いかに素早く目的の場所にたどり着くか」というのは開発スピードに直結します。
そのため、Eclipse には様々なファイルを開いたり、目的の箇所にジャンプしたりするための機能とショートカットが山ほど用意されています。

そこで、「大量のファイル・コードの中から、いかに素早く目的の場所にたどり着くか」といった観点で有用なショートカットをまとめました。

開いているプロジェクトの中で移動する


現在開いているプロジェクトに含まれるファイル全てを対象にして、目的のファイルを探す方法です。

Ctrl + H
プロジェクト横断のファイル検索機能です。いわば、高機能 GREP といえます。特定のキーワードが含まれるファイルを全て抽出するような用途に向いています。
Ctrl + Shift + T
クラスおよびクラスに準じるもの (インターフェース、Enum など) のソースファイルをクラス名でインクリメンタルサーチします。Eclipse が自動的にインデックスを生成してくれるので、数が多くても検索が高速です。クラスパスが通っている jar も対象になるので、jar にソースを紐づけておくと便利です。
Ctrl + Shift + R
各種リソースファイルをファイル名でインクリメンタルサーチします。Ctrl + Shift + T で探せないファイルを探す時などに使います (*.java も対象には入っています)。*.jsp / *.xml / *.sql などのファイルを探すときによく使います。

開いているファイルの中で移動する


今現在タブが開いているファイルの中から、目的のタブにフォーカスを移す方法です。

Ctrl + E
開いているタブの中から、ファイル名でインクリメンタルサーチします。
作業中のファイルをまとめて開いていて、その中からピンポイントでフォーカスを移したいときに便利です。対象が少ないため検索は一瞬で、さくさく使えます。
Ctrl + PageUp / Ctrl + PageDown
開いているタブのフォーカスを左右のタブに変更します。作業しやすい順にファイルを並べて、行ったり来たりするような時に便利です。
ただ、Eclipse プラグインのエディタによっては、1 つのファイルに複数のビューがあるので、そういうエディタの場合、同じファイルの中でビューが切り替わってしまうのでやや使い勝手が悪いです。
Ctrl + F6, F6 ... / Ctrl + Shift + F6, F6 ...
開いているタブの一覧からファイルを選んでフォーカスを移します。一覧はファイルを参照した履歴の順に並ぶので、Ctrl + F6 を繰り返し押すことで、Alt + Tab っぽく、2 つのファイルの間を行ったり来たりできます。

フォーカスのあるファイルの中で移動する


いまフォーカスがあって編集中のファイルの中でカーソルを移動するためのショートカットです。

Ctrl + F
いわゆる普通のファイル内検索です。チェックボックスの選び方次第で、インクリメンタルサーチも正規表現も利用出来るし、置換も可能と多機能です。
Ctrl + J
いちいちダイアログを開くことなくその場からインクリメンタルサーチが出来ます。マッチした場所に次々フォーカスが移るので、Ctrl + F ほどリッチな検索が要らない時の移動をかなり素早く行うことが出来ます。
Ctrl + J, J … と繰り返すことで正順に、Ctrl + Shift + J, J … で逆順に移動できます。
Ctrl + L
今となっては古式ゆかしい、行番号指定での移動です。もちろんピンポイントで行数がわかっている時は、今もって有効な移動方法です。
Ctrl + O
そのファイル内のプロパティ、メソッド、インナークラスなどの宣言にジャンプする時に使います。
あのクラスのあのメソッド、というように名前がわかっている場合、Ctrl + Shift + T とのコンボが強力です。
Ctrl+. / Ctrl+,
ファイル内のエラーヶ所にジャンプします。リファクタリングの過程などで複数のエラーが同時に発生した時、エラー箇所に次々と飛んで直すのに重宝します。
ドットで正順、カンマで逆順に移動します。他とは少し毛色の違うショートカットですね。

フォーカスのある要素を起点に移動する


その時にカーソルを置いている、クラス、変数などを起点に、他の場所に移動するためのショートカットです。

F3
その要素を宣言している箇所にジャンプします。クラス名であればそのクラスの宣言、メソッド名であればそのメソッドの宣言、ローカル変数であればその変数の宣言といった具合です。
ソースコードリーディングにおいてはもはや必須の機能と言えます。マウス派の場合は、Ctrl + Click でも同様の動きになりますね。
Ctrl + Shift + G
何らかの宣言にカーソルを合わせて実行すると、それを使用している場所を検索します。ちょうど F3 の逆の機能ですね。F3 に比べると検索に時間がかかってしまうのは、機能を考えれば仕方ないところです。
一つ注意が必要なのは、静的な解析に基づいて検索されるので動的な要素については対象とならない事です。つまり、DI が使われている場合インターフェースはあくまでインターフェースとして検索されますし、リフレクションが使われている部分は検索対象から漏れる事になります。

ヒストリバックもできるよ!


Alt + Left, Alt + Right
ブラウザなどにおけるヒストリバックのように、Alt + Left で直前に参照していたソースに戻り、Alt + Right で再び進みます。
ここまでに紹介してきた機能を横断する形で、異なるファイルでも、同じファイルの中でも、たとえいったん閉じてしまったファイルであっても、そこにジャンプする事ができる、極めて強力な機能です。
この機能の知名度が低いのが不憫でなりません。F3 で次々と宣言を深く潜り、そしてまた戻ってくる時など、ないとやってられないレベルです。

…さて、知っているショートカットはありましたか?知らないショートカットはありましたか?
これらのショートカットが手に馴染むと、傍目には何をやっているのか分からないスピードで Eclipse を操作する事ができるようになります。
ぜひうまく使いこなして、瞬間移動でストレスフリーな Java ライフを送って下さい。

カテゴリ: Development タグ: eclipse