Eclipseでは、頻繁に使用されるコーディングパターンがテンプレートとして設定されています。例えば、「if」とキー入力すると、
if (condition) { } else { }
というif文の基本コードを挿入することができます。そのため、いちいち構文を意識しなくても素早くコードを作成できます。また、あらかじめ設定されているパターンだけでなく、新しいパターンを登録することもできるので、うまく活用すれば、タイプミスやカッコの閉じ忘れによるエラーなどを防ぎ、開発効率を上げることができます。
操作手順
(1)テンプレート機能を利用する
テンプレートはキーワードを入力した後、コードアシスト機能にて呼び出します。ここでは、SampleクラスにMainメソッドを追加する例を使って、テンプレート機能を利用してみましょう。
まずEclipseのエディタ画面に「main」と入力してから、Ctrlキーとスペースキーを同時に押すと、メモ帳のようなアイコンとともに「main − mainメソッド」という説明が表示されます。
右側のダイアログに表示されるコードを確認してEnterキーを押すと、下記のテンプレートがエディタに自動的に挿入されます。
public static void main(String[] args) { }
また、テンプレート機能は、固定の文字列だけではなく、クラス名のような変数も挿入することができます。
例えば、「sys」と入力した後で、Ctrlキーとスペースキーを同時に押すと、先ほどと同様にポップアップメニューが表示されます。
ここで「systrace」を選択すると、右側のダイアログに表示される「System.out.println("Sample.main()");」というコードの引数に、クラス名やメソッド名が設定されていることが確認できます。
(2)テンプレートの一覧を参照する
Eclipseに登録されているテンプレートの一覧を見るには、[ウィンドウ(W)]メニューから[設定(P)]を選択してください。設定ダイアログが表示されたら、左のツリーから[Java]→[エディター]→[テンプレート]を選択します。
この一覧にある各項目は、名前の左側にあるチェックボックスで、有効/無効を切り替えることができます。
(3)新しいテンプレートを登録する
新しいテンプレートは、テンプレート一覧画面の[新規(N)]ボタンをクリックして「新規テンプレート」のダイアログから登録します。設定の際に必要になる項目は、次のとおりです。
項目 | 説明 | |
---|---|---|
名前 | コードアシストで呼び出すテンプレートの名前 | |
コンテキスト | Java、Javadocのどちらで使用するかの指定 | |
説明 | テンプレートの要旨を記述する。コードアシストで選択された際にも表示される | |
パターン | 埋め込まれるコードを記述 | |
変数の挿入 | コードで使用できる変数を挿入する(Ctrlキー+スペースキーの同時入力でも挿入可能) |
ここでは「my_systrace」という名前で「System.out.println("DEBUG: ${date} ${time} ${enclosing_type}.${enclosing_method}()");」というパターンを登録します。
(4)新しく登録したテンプレートを使用する
新しく登録したテンプレートの使用方法は、既存のテンプレートと同じです。「my」と入力した後でCtrlキーとスペースキーを同時に押すと、「System.out.println("DEBUG: 2004/05/23 19:15:59 Sample.main()");」という形式で「設定した文言+日付+時刻+クラス名+メソッド名」が挿入されます。
(5)エクポート/インポートを行う
Eclipseのエクスポート/インポートの機能を使うことにより、テンプレートをほかのマシンにも登録したり、チームのメンバーと設定を共用したりすることができます。
設定を書き出すには、テンプレート一覧のダイアログから出力したいテンプレートを選択し、[エクスポート(X)]ボタンをクリックします。すべてのテンプレートを出力したい場合は、[すべてエクスポート(P)]ボタンをクリックします。エクスポートしたテンプレート情報は、XML形式のファイルで出力されます。反対にテンプレート情報の読み込みを行うには、[インポート(I)]ボタンをクリックし、これらのXMLファイルを指定すれば、テンプレート情報を取り込むことができます。
テンプレートは、IMEの単語登録や用例登録の機能にも似ていますが、変数を使用したり、複数行の登録ができるので、プログラマが頻繁に使用するようなコーディングパターンを登録することで、IMEよりも便利に利用することができます。
Copyright © ITmedia, Inc. All Rights Reserved.