Eclipseによる開発を少し快適にするTIPS

Eclipseにはコーディングを支援する様々な機能を備えています。
中でも最近便利に感じたものを解説を交えて紹介していきたいと思います。

最後に編集した箇所へジャンプ

[Ctrl+Q]
コーディング中に他のソースを見回ってから戻る際に真価を発揮する。編集行までカーソルを持ってきてくれるため、検索の後に編集箇所に戻るといった使い方も。
※直前に「元に戻す」を使用した場合、Undoを無視した最後の編集行へジャンプするので注意。

入力補完

入力途中で[Ctrl+Space]
入力された文字列を基に変数、メソッドを含む単語を予測しリストアップ及び補完してくれる機能。
予測される単語が一つだった場合は自動的に入力補完される。

インクリメンタル検索

[Ctrl+J]
文字列検索は一般的なCtrl+Fによる検索ウィンドウの呼び出しの他に、インクリメンタル検索というスマートな検索方法が用意されている。
Ctrl+Jで呼び出すと画面下部のステータスバーに「インクリメンタル検索」と表示され、この状態で検索ワードを入力(BSやTabも利用可能)すると即座に該当キーワードの箇所へジャンプする。
Ctrl+Jで次の候補へ、Shift+Ctrl+Jで一つ前の候補にジャンプが可能。カーソルキーの↑↓でも同様の動作。エディタに戻るにはEscまたはEnterで。
通常の検索機能と比べ検索条件設定の有無など機能面は劣るが、検索ウィンドウの位置やフォーカスに煩わされないのは大きな強みだろう。

複数行の一括コメントアウト・コメントアウト除去

[Ctrl + / または Ctrl+Shift+C]
コメントアウトしたい行を選択(複数可)し、ショートカットキーを押すと各行の先頭に「//」を挿入してくれる機能。選択行が全て「//」によってコメントアウトされていた場合は除去してくれる。
Javaでは複数行のコメントアウトは「/* */」によって行えるが、入れ子構造が作れない(文法エラーとなる)という大きな弱点が存在する。
当機能では選択行のうち「//」によってコメントアウトされていない行が一つ以上存在すれば問答無用で「//」を挿入するため、入れ子問題の解決策として用いることが出来る地味に強力な機能。
このとき同範囲で再度ショートカットキーを入力すればコメントアウトを外せるが、「//」が重複してる行に関しては先頭の一つのみ除去されるため、元の状態を保存したいコメントアウトデバッグに最適。

Getter、Setter生成機能を使う

[メニューのソース→getterおよびsetterの生成]
クラス内の任意のフィールドのgetter,setterメソッドを生成してくれる機能。
手打ち時の独特な作業感から解放される。ダイアログ内で必要最低限の設定は行える。

ブレークポイントに発動条件を設定する

[ブレークポイントアイコンを右クリック→ブレークポイントプロパティより]
行番号をダブルクリックすることでブレークポイントを設置できるが、それぞれブレークする条件を設定することができる。
上記の手順を踏み設定ウィンドウを開く。

ヒットカウントにチェックし、ボックスに数値を入力するとブレークポイントを規定回数通過した際にブレークするように出来る。ループのお供に。
また、条件付きのチェックをONにすると、変数を含む任意の条件式でブレークのタイミングを制御することが出来る。

指定のフィールド書き換え時にブレーク

[フィールドの宣言行でブレークポイントを設置→ポイントを右クリック→ブレークポイントプロパティ]
意図しないフィールドの書き換えを検出したい場合に有効。
「アクセス」で読み出し時、「変更」で書き換え時にブレークする。

ワーキングセットを利用してプロジェクトを分類する

①パッケージエクスプローラーの[「▽」ボタン→トップレベル要素→ワーキングセット]
②[「▽」ボタン→ワーキングセットの構成]

開発環境を使っていると複数のプロジェクトが並ぶようになると思う。Eclipseではプロジェクトを分類・整理できるワーキングセット(プロジェクト版フォルダのような物)機能が用意されている。
上記①でパッケージエクスプローラーのモードをプロジェクト一覧からワーキングセット一覧へ切り替える。このとき初回は「ワーキングセットの構成」が自動的にポップされる。ここでワーキングセットの新規作成とプロジェクトの振り分けが出来る。以後構成画面を呼び出したい場合は②の手順を踏む。
フォルダと概ね同じ要領で利用できるが、厳密には一つのプロジェクトを複数のワーキングセットに登録が可能であることから、タグやラベルといった挙動に近い。いずれのワーキングセットにも登録されていないプロジェクトは固定ワーキングセット「その他のプロジェクト」に分類される。

以上です。
気に入ったものはありましたか?
欲しいと思った機能だけでも導入していくと効率の違いを体感できると思います。