Eclipse (Java) と Visual Studio 2015 (C#) のホットキー早見表

最近 Eclipse での Java 編集と Visual Studio 2015 での C# 編集の両環境を行き来しています。

そんな中、地味に時間を食うのがホットキーの混同。もう一方でしか対応していないホットキーを押して、あれ、と IDE 内のホットキーを再確認。ときには検索に向かうこともあって結構時間がもったいない。

ということで、両環境のホットキーを同時に確認できる表を作ってみました。

環境
----

- Eclipse
  - 4.6.0 (Neon)
- Microsoft Visual Studio Community 2015
  - Version 14.0.25431.01 Update 3

参考サイト
----

- [102 Keyboard Shortcuts for Eclipse](https://www.shortcutworld.com/en/win/Eclipse.html)
- [Default Keyboard Shortcuts in Visual Studio](https://msdn.microsoft.com/en-us/library/da5kh0wa.aspx)

表
----

### コード編集

#### クリップボード

| 機能         | Eclipse (Java)                                                                | Visual Studio 2015 (C#)                                                                                  |
|--------------|-------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| コピー       | <kbd>Ctrl</kbd> + <kbd>c</kbd> または<br><kbd>Ctrl</kbd> + <kbd>Insert</kbd>  | (未選択時、行コピー)<br><kbd>Ctrl</kbd> + <kbd>c</kbd> または<br><kbd>Ctrl</kbd> + <kbd>Insert</kbd>     |
| 切り取り     | <kbd>Ctrl</kbd> + <kbd>x</kbd> または<br><kbd>Shift</kbd> + <kbd>Delete</kbd> | (未選択時、行切り取り)<br><kbd>Ctrl</kbd> + <kbd>x</kbd> または<br><kbd>Shift</kbd> + <kbd>Delete</kbd>  |
| 行切り取り   |                                                                               | <kbd>Ctrl</kbd> + <kbd>l</kbd>                                                                           |
| 貼り付け     | <kbd>Ctrl</kbd> + <kbd>v</kbd> または<br><kbd>Shift</kbd> + <kbd>Insert</kbd> | <kbd>Ctrl</kbd> + <kbd>v</kbd> または<br><kbd>Shift</kbd> + <kbd>Insert</kbd>                            |
| 貼り付け (2) |                               | (押すたびに過去のコピー内容に変化)<br><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>v</kbd> または<br><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Insert</kbd> |

#### コメント

| 機能                               | Eclipse (Java)                                                                               | Visual Studio 2015 (C#)                                        |
|------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| コメント化                         | (選択部分をブロックコメント化)<br><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>/</kbd>          | <kbd>Ctrl</kbd> + <kbd>k</kbd>, <kbd>Ctrl</kbd> + <kbd>c</kbd> |
| コメントの解除                     | (カーソル位置のブロックコメントを解除)<br><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>\\</kbd> | <kbd>Ctrl</kbd> + <kbd>k</kbd>, <kbd>Ctrl</kbd> + <kbd>u</kbd> |
| コメント化と解除の切り替え         | <kbd>Ctrl</kbd> + <kbd>/</kbd> または<br><kbd>Ctrl</kbd> + <kbd>7</kbd> または<br><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>c</kbd> |                         |
| クラスやメソッド用のコメントを追加 | (Javadoc)<br><kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>j</kbd>                                 |                                                                |

#### リファクタリング

| 機能                             | Eclipse (Java)                                                                               | Visual Studio 2015 (C#)                                        |
|----------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| メソッドやクラスの名前を変更する | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>r</kbd>                                             | <kbd>Ctrl</kbd> + <kbd>r</kbd>, <kbd>Ctrl</kbd> + <kbd>r</kbd> |
| ファイルの名前を変更する         | (ファイルかクラス名にカーソルを合わせて)<br><kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>r</kbd> | (ファイルにカーソルを合わせて)<br><kbd>F2</kbd>                |
| ファイルの移動                   | (ファイルにカーソルを合わせて)<br><kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>v</kbd>               |                                                            |

#### 選択範囲

| 機能                          | Eclipse (Java)                                    | Visual Studio 2015 (C#) |
|-------------------------------|---------------------------------------------------|-------------------------|
| 選択範囲の文脈的な拡張        | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>↑</kbd> |                         |
| 選択範囲の文脈的な拡張 (前方) | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>←</kbd> |                         |
| 選択範囲の文脈的な拡張 (後方) | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>→</kbd> |                         |
| 選択範囲の文脈的な縮小        | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>↓</kbd> |                         |

#### 移動

| 機能                                 | Eclipse (Java)                                    | Visual Studio 2015 (C#)                             |
|--------------------------------------|---------------------------------------------------|-----------------------------------------------------|
| 行番号を指定してジャンプ             | <kbd>Ctrl</kbd> + <kbd>l</kbd>                    | <kbd>Ctrl</kbd> + <kbd>g</kbd>                      |
| カーソル以降のエラーにジャンプ       | <kbd>Ctrl</kbd> + <kbd>,</kbd>                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>F12</kbd> |
| カーソル以前のエラーにジャンプ       | <kbd>Ctrl</kbd> + <kbd>.</kbd>                    |                                                     |
| 対応する括弧にジャンプ               | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>p</kbd> | <kbd>Ctrl</kbd> + <kbd>]</kbd>                      |
| 最後に編集した箇所にジャンプ         | <kbd>Ctrl</kbd> + <kbd>q</kbd>                    |                                                     |
| クラスやメソッドの宣言にジャンプ     | <kbd>F3</kbd>                                     | <kbd>F12</kbd>                                      |
| クラスやメソッドの宣言を一時的に表示 |                                                   | <kbd>Alt</kbd> + <kbd>F12</kbd>                     |
| 編集中のファイルに戻る               | <kbd>F12</kbd>                                    | <kbd>Esc</kbd> または<br><kbd>F7</kbd>              |
| 編集するファイルを右隣に変更         | <kbd>Ctrl</kbd> + <kbd>PageDown</kbd>             | <kbd>Ctrl</kbd> + <kbd>F6</kbd>                     |
| 編集するファイルを左隣に変更         | <kbd>Ctrl</kbd> + <kbd>PageDown</kbd>             | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>F6</kbd>  |

#### 折りたたみ

| 機能                               | Eclipse (Java)                                             | Visual Studio 2015 (C#)                                        |
|------------------------------------|------------------------------------------------------------|----------------------------------------------------------------|
| 折りたたむ                         | <kbd>Ctrl</kbd> + <kbd>- (Numpad)</kbd>                    |                                                                |
| 折りたたみを解除                   | <kbd>Ctrl</kbd> + <kbd>+ (Numpad)</kbd>                    |                                                                |
| 折りたたみと解除の切り替え         |                                                            | <kbd>Ctrl</kbd> + <kbd>m</kbd>, <kbd>Ctrl</kbd> + <kbd>m</kbd> |
| すべてを折りたたむ                 | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>/ (Numpad)</kbd> | <kbd>Ctrl</kbd> + <kbd>m</kbd>, <kbd>Ctrl</kbd> + <kbd>a</kbd> |
| すべての折りたたみを解除           | <kbd>Ctrl</kbd> + <kbd>* (Numpad)</kbd>                    | <kbd>Ctrl</kbd> + <kbd>m</kbd>, <kbd>Ctrl</kbd> + <kbd>x</kbd> |
| すべての折りたたみと解除の切り替え |                                                            | <kbd>Ctrl</kbd> + <kbd>m</kbd>, <kbd>Ctrl</kbd> + <kbd>l</kbd> |
| 定義以外をすべて折りたたみ         |                                                            | <kbd>Ctrl</kbd> + <kbd>m</kbd>, <kbd>Ctrl</kbd> + <kbd>o</kbd> |

#### 入力補完 / ヒント

| 機能                             | Eclipse (Java)                                  | Visual Studio 2015 (C#)              |
|----------------------------------|-------------------------------------------------|--------------------------------------|
| 入力補完                         | <kbd>Alt</kbd> + <kbd>/</kbd>                   | <kbd>Ctrl</kbd> + <kbd>Space</kbd>   |
| 入力補完 / 入力候補              | <kbd>Ctrl</kbd> + <kbd>Space</kbd>              | <kbd>Ctrl</kbd> + <kbd>j</kbd>       |
| クイックフィックス候補           | <kbd>Ctr1</kbd> + <kbd>1</kbd>                  | <kbd>Ctrl</kbd> + <kbd>.</kbd>       |
| 呼び出し階層の表示               | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>h</kbd> | <kbd>Ctrl</kbd> + <kbd>K</kbd>, <kbd>Ctrl</kbd> + <kbd>T</kbd> |

#### 編集その他

| 機能                               | Eclipse (Java)                                        | Visual Studio 2015 (C#)                               |
|------------------------------------|-------------------------------------------------------|-------------------------------------------------------|
| 行削除                             | <kbd>Ctrl</kbd> + <kbd>d</kbd>                        | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>l</kbd>     |
| ひとつ上に行を作ってカーソルを移す | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Enter</kbd> | <kbd>Ctrl</kbd> + <kbd>Enter</kbd>                    |
| ひとつ下に行を作ってカーソルを移す | <kbd>Shift</kbd> + <kbd>Enter</kbd>                   | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Enter</kbd> |
| 英字を小文字にする                 | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>y</kbd>     | <kbd>Ctrl</kbd> + <kbd>u</kbd>                        |
| 英字を大文字にする                 | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>x</kbd>     | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>u</kbd>     |

### コード編集以外

#### ビルド

| 機能   | Eclipse (Java)                 | Visual Studio 2015 (C#)                           |
|--------|--------------------------------|---------------------------------------------------|
| ビルド | <kbd>Ctrl</kbd> + <kbd>b</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>b</kbd> |

#### 実行 / デバッグ

| 機能                       | Eclipse (Java)                                    | Visual Studio 2015 (C#)         |
|----------------------------|---------------------------------------------------|---------------------------------|
| 実行                       | <kbd>Ctrl</kbd> + <kbd>F11</kbd>                  | <kbd>Ctrl</kbd> + <kbd>F5</kbd> |
| デバッグ実行               | <kbd>F11</kbd>                                    | <kbd>F5</kbd>                   |
| ブレイクポイントの切り替え | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>b</kbd> | <kbd>F9</kbd>                   |
| ステップイン               | <kbd>F5</kbd>                                     | <kbd>F11</kbd>                  |
| ステップオーバー           | <kbd>F6</kbd>                                     | <kbd>F10</kbd>                  |