第8夜 NetBeansのコードテンプレート

あいかわらずEclipseが使いこなせないおいら。ここは発想を逆転して、まわりがみんなNetBeansを使いこなせればよいと考えた。なんだ、簡単なことだったぜ。


というわけで今回はNetBeansのコードテンプレート機能について。

例えばJavaのコードを書いたときに「sout」と入力してTABキーを押すと「System.out.println("");」が生成されてダブルクォーテーションの中にカーソルが移動するというのは誰もが知っていることだと思う。serrはもちろん「System.err.println("");」だ。

この設定はどこにあるのだろうか。

メニューから「ツール」「オプション」と選択し、オプションダイアログが表示されたらエディタを選び、コードテンプレートを選択する。

ここに先ほどのsoutやserrがあることがわかるはずだ。もちろん、自分でカスタマイズをすることが可能だ。


構文としては${パラメータ名}という書き方をするだけで、ここが補完対象になる。soutやserrで使われているようなパラメータ名「cursor」は予約語で、ここにカーソルを移動させることを表す。予約語以外は単純にそこに文字列を表示し、補完させるような状態になっている。同じパラメータ名をいれると先に出現したパラメータ名での入力がコピーされる。


例えば以下のテンプレートを作成してみる。

List<${type}> ${list} = new ArrayList<${type}>();

これはタブを押した直後は以下のようになる。


入力するとそれは同一のパラメータ名にも反映される。


そしてtype部分を補完してリターンキーを押すと、次のパラメータにカーソルが移動する。

変数名部分をリターンキーで確定すると文の最後にカーソルが移動する。3つ目のパラメータは1つ名のパラメータ名と同じため、そこで入力した内容がコピーされスキップされるのだ。


詳しくはヘルプの「特殊なコードテンプレート構文」を見て欲しい。補完するクラスを制限したりすることも可能だ。NetBeansはヘルプもふくめてすぐ日本語化されているのが特徴なので活用しよう。



このエントリにJavaタグがついてないことからわかるとおり、これはJavaに限定した話ではない。

大量にテンプレートがあるので一度見てみると良いだろう。そしてカスタマイズするのだ!