EclipseのJavaのテンプレート機能を利用してインスタンス生成時のタイプ量を減らす例
EclipseはJavaのfor文などいろいろと補完してくれるが、自分で設定を追加することが可能。
EclipseのJavaテンプレート設定は、
ウィンドウ(Window)→設定(Preferences)→Java→エディター(Editor)→テンプレート(Templates)
で行ける。
右側にある新規作成っぽいボタンを押すと、以下のようなウィンドウが出る。
以下各設定の説明。
- 名前
- 補完するときに入力する文字列
- コンテキスト
- このテンプレートを利用する状況。JavaとかJavadocとか。
- 自動的に挿入
- 補完候補が単一のときにさっさと補完するかどうか(多分)
- 記述
- テンプレートの説明。補完候補選択時に表示される
- パターン
- 補完する内容
というわけで以下自分が追加した内容。コンテキストは全てJava。
新しいArrayListインスタンスを生成
- 名前
- newal
- 記述
- create new ArrayList instance
List<${type}> ${:import(java.util.List,java.util.ArrayList)}${list:newName(java.util.ArrayList)} = new ArrayList<${type}>(${});
実際に補完してみる。
↓補完ボタン
↓リストの型を入力
その他、LinkedList用にnewllなどとして登録しておくと便利。
新しいHashSetインスタンスを生成
- 名前
- newhs
- 記述
- create new HashSet instance
Set<${type}> ${:import(java.util.Set, java.util.HashSet)}${set:newName(java.util.HashSet)} = new HashSet<${type}>(${});
LinkedHashSet用にnewlhs、TreeSet用にnewtsなども登録しておくと便利。
新しいHashMapインスタンスを生成
- 名前
- newhm
- 記述
- create new HashMap instance
Map<${key}, ${value}> ${:import(java.util.Map, java.util.HashMap)}${map:newName(java.util.HashMap)} = new HashMap<${key}, ${value}>(${});
LinkedHashMap用にnewlhm、TreeMap用にnewtmなども登録しておくと便利。
新しいStringBuilderインスタンスを生成
- 名前
- newsb
- 記述
- create new StringBuilder instance
StringBuilder ${sb:newName(java.lang.StringBuilder)} = new StringBuilder();