Eclipseエディターテンプレート
エディターテンプレートとは?
Eclipseには、Javaエディター上のコード補完をカスタマイズする機能が備わっています。
コード補完を少し紹介
標準では、ifNull などが登録されています。
e.g. 標準のifnullの補完テンプレート @Java
String sea = ...
ifnu... // control+space, enter
↓↓↓
if (sea == null) {
}
独自に追加もできます。例えば、DBFluteオリジナルの _ll でLambda表現を補完してみましょう。
e.g. DBFluteオリジナルの_llの補完テンプレート @Java
memberBhv.selectList(_ll) // _ll, control+space, enter
↓↓↓
memberBhv.selectList([var] -> {
[var].[object]
})
ワークスペース設定なので各自設定
ワークスペース設定 (.metadataディレクトリ) になるので、開発者それぞれが設定する必要があります。 (同じPCでも新しいワークスペースを作れば再設定が必要)
標準のテンプレート
知らずに使っているものもあれば、意外に知らずにもったいないことをしてる場合もあります。
ここでは、代表的なものをピックアップしてみます。
- @author
- JavaDocにて @author を補完、自分の名前が載る
- ifNull
- 近くの変数で if (xxx == null) {} を補完
- ifNotNull
- 近くの変数で if (xxx != null) {} を補完
- foreach
- 近くのリストで for (要素型 変数 : リスト) {} を補完
- private_method
- privateメソッドをを補完
- protected_method
- privateメソッドをを補完
- public_method
- privateメソッドをを補完
- test_jupiter
- JUnit5用のテストメソッドを補完
- sysout
- System.out.println() を補完
- main
- mainメソッドを補完
エディターテンプレートの設定
Preferences の Templates画面
メニューの Preferences の Java - Editor - Templates で設定できます。
- New...
- 新しいテンプレートを登録
- Edit...
- 選択している既存のテンプレートを編集
- Remove
- 選択している既存のテンプレートを削除
- Restore Removed
- 標準のテンプレートで削除されているものを復活させる
- Revert to Default
- 標準のテンプレートの戻す
- Import...
- xmlに保存されているテンプレートを取り込む
- Export...
- 選択している既存のテンプレートをxmlに保存する
Import時の重複登録に注意
同じ名前のテンプレートを複数登録できます。ゆえに、Import時に既存と同じ名前のテンプレートがxml上にもある場合、二重で登録されることになります。
なので、Export時に既存テンプレートを全選択してxmlを出力している場合は、Importする前に既存のテンプレートをすべて削除してからImportする まるごと入れ替え方式 にすると良いでしょう。
独自に追加したテンプレートだけをExportしている場合は、Importする前に Revert to Default をしてから Import する デフォルト付け足し方式 にすると良いでしょう。
Importのまるごと入れ替え方式
Import対象のxmlに (標準テンプレートも含めて) 全てまるごと保存されている場合はこの方式で。
※LastaFluteプロジェクトやDBFluteハンズオンなどでは、基本的にまるごと入れ替え方式を前提にしています。
まるごと入れ替え方式のやり方
まず、メニューの Preferences の Java - Editor - Templates で設定画面を開きます。
既存のテンプレートを何か一つ選択して、(Macなら)command+A で全選択します(全選択できればやり方は何でもOK)。 そして、全選択した状態で Remove を押すと既存のテンプレートがすべて消えるので、その状態で Import... を押して、ファイル選択ダイアログでimport対象のxmlファイルを選択します。
期待されているテンプレートが設定されたことを確認して Apply すれば完了です。試しに近くのクラスで補完をしてみましょう。
まるごと入れ替え方式の特徴
- 独自テンプレートの提供元が複数あっても、開発者は気にしなくて良い
- 標準テンプレートに修正が入っていても、開発者は気にしなくて良い
- 最新版Eclipseで追加されたテンプレートを追従するときに(管理者の)手作業が必要
Importのデフォルト付け足し方式
Import対象のxmlには標準テンプレートは含まれず一部のテンプレートのみが保存されている場合はこの方式で。
デフォルト付け足し方式のやり方
Revert to default を押してから、Import... を押して、ファイル選択ダイアログでimport対象のxmlファイルを選択します。
デフォルト付け足し方式の場合は、import対象のxmlファイルが複数ある可能性が高いので、ある場合は連続してimportしましょう。 (例えば、DBFluteの補完テンプレートやアプリ独自の補完テンプレートなど)
デフォルト付け足し方式の特徴
- 最新版Eclipseで追加されたテンプレートを追従が自然にできる
- 独自テンプレートの提供元が複数ある場合は、開発者が意識して複数のimportをする必要がある
- 標準テンプレートに修正が入れても消えてしまうので、その場合はこの方式は使えない