Eclipseでソースを書く上での便利機能メモ

今日id:wakizakaと話をしているときに、EclipseJavaを書いているときに、補完機能でsysoutと入力して ctrl + space を押すと、System.out.println()を補完してくれますよー、という話が出ました。
あと、mainと打って補完すると、

public static void main(String[] args) {
}

が挿入されるそうです。
tryなどは、そのままソースを書いているときにctrl + spaceを押すので気づきやすいですが、これらは今まで知りませんでした。
これはこのブログのタイトルを変えざるを得ないですね。

ということで、意外とこういうEclipseの便利な機能を知らなかったりするので、この機会にソースコードを書く上で便利そうなものをいくつか調べてみました。


テンプレート機能

上記のsysoutやmainは正確にはテンプレート機能と呼ばれます。
デフォルトで登録されているテンプレートは、ウィンドウ>設定>Java>エディター>テンプレートから確認ができます(日本語化していない場合はWindow>Preferences>Java>Editor>Templates )。
上で出たもの以外に使えそうなのは、

  • systrace→現在のメソッド名をSystem.out.printlnしてくれる
  • toarraym→Collectionを配列に変換するテンプレート挿入
  • private(public/protected)_method→メソッドのテンプレート挿入

などがありました。
toarrayなどは、ctrl + spaceを押した後、tabを押すことで、入力が必要な部分にフォーカスが動くので、順次入力していきましょう。
また、テンプレートは新たに追加することもできます。ReaderとかWriterを使うときは、だいたいパターンがあるので、追加してもいいかもしれません。

テンプレート機能の特筆すべき点として、テンプレートをXMLでインポート/エクスポートできるので、自分がよく使う独自のテンプレートを公開すれば、ほかの人もそれを利用することができるようになります。
ということで、公開されたテンプレートがないかググったところ以下のページが見つかりました。

eclipsewiki.net - このウェブサイトは販売用です! -&nbspeclipsewiki リソースおよび情報

テンプレートを使って、コーディング速度が上がるとよいですね。


Quick Fix

あるインスタンスのメソッドを実行したとき、返り値の型なんだっけ?ってなることはありませんか?
Quick Fixを使うとこの問題を解決してくれます。
返り値のあるメソッドを実行するコードを書いた後、Ctrl + 1 を押すと、その値を受け取る変数かフィールドを自動的に挿入してくれます。
これは便利ですね。


ローカルヒストリー

SubversionCSVを使わなくてもバージョン管理のようなことがローカルで行えます。
そのソースの変更点などが履歴として保存されており、ローカルヒストリーを使うことで比較や直前のものとの置換などを行うことができます。
変更したメソッドの上などで右クリックを押し、ポップアップから「ローカルヒストリー」を選ぶことで使えます。
保存した回数だけ、履歴として登録されているようです。


終わりに

こんなのもあるよー、と教えていただけるとうれしいです。