4年目Javaエンジニアが普段よく使用しているEclipseのショートカット18個

# はじめに

筆者は会社ではWindows、プライベートではMacと、両方の環境でEclipseを使用しています。 

そのため、これから紹介するショートカットは、Windows、Mac両方のものを可能な限り記載しています。(Windowsなら操作が簡単なのに、Macだとその操作が面倒になるケースがあり、ショートカットとはあまり言えないようなものも一部混じってます…)

全項目で18個です。

# **リソースを開く** 
|OS|ショートカットキー|
|:--|:--|
|Windows| `Ctrl + Shift + r`(Java等のファイルビューにフォーカスが当たった状態で)| 
|Mac|`⌘ + Shift + r`|

ワークスペース内のファイル全てをファイル名の前方一致で検索してくれます。

![Screen Shot 2015-07-28 at 21.37.27.png](https://qiita-image-store.s3.amazonaws.com/0/10044/b3807685-ac0a-9d89-4bc0-d7689f0ad463.png)


# **スーパータイプ階層を開く** 

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + t`(クラス、メソッドにカーソルが当たった状態で)|
|Mac|`⌘ + t`(クラス、メソッドにカーソルが当たった状態で)|

インターフェースであればどのクラスで実装しているか、クラスであればサブクラスは何かを表示してくれます。
メソッドで実行すれば、どのクラスでオーバーライド、実装されているかを表示してくれるのでかなり便利です。

![Screen Shot 2015-07-28 at 21.15.24.png](https://qiita-image-store.s3.amazonaws.com/0/10044/9d2c5dc7-16be-71c2-a4e1-4508ed22f857.png)

# **呼び出し階層を開く**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + Alt + H`(クラス、変数、メソッドにカーソルが当たった状態で)|
|Mac|`Ctrl + Alt + H`(クラス、変数、メソッドにカーソルが当たった状態で)|

どこのクラス、メソッドから変数やメソッドが呼び出されているのか、以下の画像のように確認できます。

![Screen Shot 2015-07-28 at 21.21.10.png](https://qiita-image-store.s3.amazonaws.com/0/10044/7fe4b3cc-b437-f997-efcd-418ade87bfea.png)


# **宣言を開く**

|OS|ショートカットキー|
|:--|:--|
|Windows|`F3`(クラス、変数、メソッドにカーソルが当たった状態で)|
|Mac|`F3`(クラス、変数、メソッドにカーソルが当たった状態で)|

クラス、変数の上で実行すれば、宣言まで飛んでくれる便利物。

# **補完**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + space`(入力中)|
|Mac|`Ctrl + space`(入力中)|

言わずと知れた一番よく使われるもの。

![Screen Shot 2015-07-28 at 21.25.05.png](https://qiita-image-store.s3.amazonaws.com/0/10044/57a81442-4c79-25b1-a89c-5c9ac9bfe3e6.png)

# **ステップ･イン、ステップ･オーバー、ステップ･リターン**

|OS|ショートカットキー|
|:--|:--|
|Windows|`F5`, `F6`, `F7`(デバッグ中)|
|Mac|`F5`, `F6`, `F7`(デバッグ中)|

デバッグ時にメソッド内部に入ったり、行を飛ばして次に進んだり、呼び出し元に戻ったりできます。

# **ファイル検索**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Alt → a → f`(パッケージエクスプローラー等でフォルダを選択後)|
|Mac| `Ctrl + F2` → `s` → `Enter` → `f` → `Enter`(パッケージエクスプローラー等でフォルダを選択後) |

選択されたフォルダ以下を再帰的にgrepしてくれるので重宝しています。 Macのショートカットは長すぎます。
単純なgrepができるため個人的に｢Java検索｣するよりこちらをよく使用しています。

![Screen Shot 2015-07-28 at 21.43.45.png](https://qiita-image-store.s3.amazonaws.com/0/10044/67fd9730-b80e-fa5a-c1c3-f10aaf755040.png)


# **ワークスペース内でテキストを検索**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + Shift + g`(メソッド、変数にカーソルを置いて)|
|Mac| `⌘ + Shift + g`(メソッド、変数にカーソルを置いて)|

カーソルが置かれているメソッド、変数を呼び出している箇所を検索し、検索ビューに表示します。

![Screen Shot 2015-07-28 at 21.36.04.png](https://qiita-image-store.s3.amazonaws.com/0/10044/691ac34a-0b58-23a3-a86d-b93fa2e4a7db.png)

# **Javaアプリケーションを実行する**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Alt + Shift + x → j`|
|Mac| `⌘ + Alt + x → j` |

`Alt + Shift + x`, `⌘ + Alt + x`を押した時点で以下の画面が表示されます。
`j`以外にも`t`を押すとJUnitテストを実行できたりして便利です。 

![Screen Shot 2015-07-28 at 21.46.41.png](https://qiita-image-store.s3.amazonaws.com/0/10044/a4b1676d-876e-40dd-6d7f-29636cc05c8f.png)

JUnitを実行する際、`@Test`アノテーションがついているメソッドをカーソルで選択している場合はそのメソッドだけがテストされ、そうでない場合はテストクラス全てのテストメソッドが実行されます。

# **Javaアプリケーションをデバッグする**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Alt + Shift + d → j`|
|Mac| `⌘ + Alt + Ctrl + d → j` |

`Alt + Shift + D` , `⌘ + Alt + Ctrl + D`を押した時点で以下の画面が表示されます。
`j`以外にも`t`を押すとJUnitテストを実行できたりして便利です。

![Screen Shot 2015-07-28 at 21.49.58.png](https://qiita-image-store.s3.amazonaws.com/0/10044/6f391f89-a00e-c82a-9282-5776b3c52fd8.png)

# **インポートの編成**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + Shift + o`|
|Mac| `⌘ + Shift + o` |

下記の画像のように、警告を受けている不要なimport文を削除してくれます。

![Screen Shot 2015-07-28 at 22.56.44.png](https://qiita-image-store.s3.amazonaws.com/0/10044/453c866a-cb03-73e6-de6d-1c31caecf600.png)

# **タブの検索**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + e`|
|Mac| `⌘ + e` |

タブの検索ができます。 大量のタブを開いている時に便利です。

![Screen Shot 2015-07-28 at 23.00.26.png](https://qiita-image-store.s3.amazonaws.com/0/10044/bc4600ba-6a31-1cdf-0101-c7ebb250e319.png)

# **クイックフィックス**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + 1`(エラーや警告の箇所を選択して)|
|Mac| `⌘ + 1`(エラーや警告の箇所を選択して)|

コンパイルエラーや警告が起きた時に、自動修復するための選択窓が表示されます。 

![Screen Shot 2015-07-28 at 23.09.38.png](https://qiita-image-store.s3.amazonaws.com/0/10044/2bbdc020-ff9d-920b-f22b-8d0b138cddda.png)

# **カーソル位置を進める、戻す**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Alt + ←` or `Alt + →`|
|Mac| `⌘ + [` or `⌘ + ]`|

カーソル位置を前後にあった箇所に戻せます。

# **カーソル位置の行を上下に移動**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Alt + ↑` or `Alt + ↓`|
|Mac| `Alt + ↑` or `Alt + ↓`|

行ごと上下に移動できます。複数行選択されている場合は、まとめて行移動ができます。

# **行削除**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + d`|
|Mac| `⌘ + d`|

カーソル位置の行を削除します。 複数行選択されている場合は、まとめて行削除ができます。

# **名前変更**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Alt + Shift + r`(変数やメソッドの名前にカーソルを置いて)|
|Mac| `⌘ + Alt + r`(変数やメソッドの名前にカーソルを置いて)|

変数やメソッド名、クラス名の呼ばれている箇所全ての名前を一括で変更します。

![Screen Shot 2015-07-28 at 23.21.21.png](https://qiita-image-store.s3.amazonaws.com/0/10044/8394867f-d33c-cde3-4e8c-b3258574c598.png)


# **コメントアウト**

|OS|ショートカットキー|
|:--|:--|
|Windows|`Ctrl + /`|
|Mac| `⌘ + /`|

複数行選択していれば、複数行丸ごとコメントアウトします。