Mac版Eclipseのショートカットはこちらになります。
Javaはもちろんのこと、最近ではPHPやPython、Rubyなどでも利用することが多くなった統合開発環境のEclipseですが、普通に使用していたのでは、ただのテキストエディタとあまり変わりません。
タッチタイピングは前提として、キーボードショートカットを多用すれば良いのです。
入力系
- Ctrl+Space:Content Assist – コンテンツアシスト
- Ctrl+/:Toggle Comment – 1行コメントの有効・無効(複数行の範囲指定可)
- Ctrl+D:Delete Line – 1行削除(複数行の範囲指定可)
- Ctrl+1:Quick Fix – カーソル位置のエラー等の解決方法を表示
- Alt+Shift+R:Rename – クラス名、変数名等のリネーム
- Alt+Up[Down]:Move Lines Up[Down] – カーソル行を上[下]に移動(複数行の範囲指定可)
- Ctrl+Alt+Up[Down]:Duplicate Lines[Copy Lines]カーソル行を上[下]にコピー(複数行の範囲指定可)
- Ctrl+Shift+F:Format – コードのフォーマット(フォーマット対象の範囲指定可)
- Ctrl+Shift+O:Organize Imports – import文の整理
検索系
- Ctrl+F:Find and Replace – ファイル内検索・置換
- Ctrl+J:Incremental Find – インクリメンタル検索
- Ctrl+O:Quick Outline – カーソル位置のクラスのメソッド一覧を表示
- Ctrl[+Shift]+K:Find Next[Previous] – 範囲指定語句の後方[前方]移動
- Ctrl+.[,]:Next[Previous] – エラー等の後方[前方]移動
- Shift+F2:Open External Javadoc – カーソル位置のクラス、インタフェース等のJavaDocへ移動
- F3:Open Declaration – カーソル位置のクラス、インタフェース、変数等の宣言場所へ移動
- Ctrl+Shift+P:Go to Matching Backlet – 対応する括弧へ移動
- F4:Open Type Hierarchy – カーソル位置のクラスの継承関係を表示
- Ctrl+T:Quick Hierarchy – カーソル位置のクラスの継承関係を表示
- Ctrl+Shift+R:Open Resource – リソース検索
- Ctrl+Shift+T:Open Type – クラス、インタフェース等の検索
- Ctrl+Alt+H:Open Call Hierarchy – メソッド等の使用箇所を表示
その他
- Ctrl+F8:Next Perspective – 次のパースペクティブを表示
- Shift+Alt+X:Run As – 実行形式を選択
- Shift+Alt+D:Debug As – デバッグ形式を選択
- Ctrl+PageUp[PageDown]:Next[Previous] Tabタブの切り替え
- Ctrl+Shift+L:Show Key Assist – ショートカット一覧表示
上記は個人的に頻繁に使用しているWindows版Eclipseのキーボードショートカットですが、これだけでもマスターして使えばかなり効率化されます。Javaコードに対する固有のショートカットなども含まれていると思います。MacOX版については実行環境がないので分かりませんが、Windows版とLinux版でデフォルトのショートカットが若干違うようです。(ファイル保存やコピー&ペーストなどの基本的なショートカットは省略しています。)
Eclipseを使う場合にはプログラムを左側から順に入力するのではなく、これらのキーボードショートカットを活用し極力タイピング量を減らすことでさらに効率良くなります。
また、マウスを利用するよりもキーボードメインにした方が手を常にキーボードに置くことができるので無駄な動作が減ります。どうしてもマウスを使わないといけない場合でも、Thinkpadなどのトラックポインタ付きキーボードを使えば極力キーボードから手を離さなくて良いのでコーディングに向いていると言えるでしょう。個人的にかもしれませんが、日本語配列よりも英語配列の方がコーディング時に使用頻度の高い記号(波括弧や丸括弧など)が使い易い配置になっているので、個人的には英語配列を好んで使用しています。
USBタイプのキーボードであればこちらがオススメです。
次回はこれらのキーボードショートカットを実際に使用して、効率良くJavaコーディングする方法を書きたいと思います。