ショートカットキーの組み合わせはたくさんあってややこしいですが、B キー系のショートカットは定義へのジャンプ、F7 キー系のショートカットは参照箇所へのジャンプと覚えれば迷わずに使用できるようになります。 B キーに関しては、マウスの左クリックで置き換えられるようになっています。
ひとまず、下記を使いこなせばほとんどのケースはカバーできるはずです。
下記はコードを調査するときに便利なショートカットキーの一覧です。 特に使いこなしたいキーに関しては、★マークを付けてあります。
ショートカットキー | 説明 | |
---|---|---|
Ctrl-B Ctrl-クリック 中央ボタンクリック |
Declaration コンテキストに応じて振る舞いが変わる。例えばカーソルがメソッド定義にあるときは参照箇所へジャンプ、カーソルが参照箇所にあるときは定義へジャンプする。できればこれに頼らず、より用途のはっきりした別のショートカットを使うとよい(下記2つ)。 |
|
★ | Ctrl-Alt-B Ctrl-Alt-クリック |
Implementation(s) 子クラスやインタフェースの実装クラス、メソッド実装へジャンプ。インタフェース→具象クラス、メソッド参照→メソッド実装、というジャンプ。 |
★ | Ctrl-Shift-B Ctrl-Shift-クリック |
Type Declaration テキストカーソル下のオブジェクトの実装クラスへジャンプ。あるいは、テキストカーソル下のメソッドの戻り値のオブジェクトの実装クラスへジャンプ(戻り値が void の場合は何も起こらない)。オブジェクト→クラス、というジャンプ。 |
ショートカットキー | 説明 | |
---|---|---|
★ | Alt-F7 | Find Usages メソッドや変数の参照箇所をツリー表示 |
Ctrl-Alt-F7 | Show Usages メソッドや変数の参照箇所をリスト表示(1か所だけなら即ジャンプ) |
|
Ctrl-F7 | Find Usages in File ファイル内の参照箇所へジャンプ。F3で次へ移動。 |
|
Ctrl-Shift-F7 | Highlight Usages in File ファイル内の同じキーワードをハイライト、どんどん追加していける。Esc ですべてのハイライトをクリア。 |
|
Ctrl-Alt-Shift-F7 | Find Usages Settings... |
ショートカットキー | 説明 | |
---|---|---|
Ctrl-F | Find... ファイル内をテキスト検索 |
|
★ | Ctrl-Shift-F | Find in Path... プロジェクト内をテキスト検索 |
Ctrl-Alt-F | Field... フィールドをテキスト検索 |
ショートカットキー | 説明 | |
---|---|---|
★ | Ctrl-Alt-左/右 | Back/Forward ジャンプ元へ戻る/進む |
★ | Ctrl-N | Class... クラス名を指定してファイルオープン |
★ | Ctrl-H | Type Hierarchy クラスやインタフェースの階層構造を表示 |
Ctrl-F12 | File Structure クラス内のメンバ、フィールドをリスト表示 |
Ctrl-B(Ctrl-クリック)はコンテキストによって異なる振る舞いをするため、可能であれば、このショートカットは使わずに、より用途が明確な Ctrl-Alt-B、Ctrl-Shift-B の方を使えるようになると、スムーズにコード調査を行えるようになります。
ここでは、テキストカーソルの位置によってどのように振る舞いが変わるかを具体的に見ていきましょう。
public class MyClass { ... } public interface MyInterface { ... }
public class Child extends Parent { ... } public class Concrete implements IInterface { ... }
public class MyClass {
void myMethod() {
...
}
}
public class MyClass {
void myMethod() {
obj.method();
}
}
public class MyClass { private MyClass mField; ... private void method(MyClass param) { ... } }
public class MyClass { private void method() { mMyField.method(); } private void method(MyClass param) { hoge(param); } }
参照箇所へジャンプする F7 キー系のショートカットは、定義/実装へジャンプする B キー系のショートカットと違って振る舞いが一定しているため簡単に使いこなすことができます。 基本は、Alt-F7 で参照箇所をツリー表示してジャンプ、という使い方で OK です。 ツリー表示された状態で、Ctrl-Alt-上/下 を押すことで、参照箇所に順番にジャンプすることができます(行入れ替えの Ctrl-Shift-上/下 と間違えないように!)。
クラス名にカーソルがある状態で、Ctrl-H を押すと、そのクラスの継承構造がすべてツリー表示されます。
調査対象としているクラスが複雑な継承構造を持っているとき、やみくもにコードを読み進めても全体の振る舞いを理解しにくいことがあります。 まずは、調査したいクラスの継承構造を把握するのがよいでしょう。 インタフェース名にカーソルがある状態で Ctrl-H を押すと、そのインタフェースを実装するクラスをすべて把握することができます。
この操作は、クラス名、あるいは、インタフェース名にテキストカーソルが置かれている状態でしかうまく機能しないことに注意してください。 フィールドや、変数にテキストカーソルが置かれている状態で実行した場合は、そのフィールドを保持しているクラスに関しての情報が表示されます。