情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

簡単なEclipse用コードテンプレートを作ってみた このエントリーを含むはてなブックマーク

Eclipseのコードテンプレートとは

Eclipseの.javaファイル編集中に、メソッドの内部で

syso

と入力した後に「Ctrl+Space」と入力すると、勝手に

System.out.println();

に変換されます。便利です。使ったことのある人も多いと思います。これがコードテンプレート機能です。

作るのは簡単

「Window>Preference」の「Java>Editor>Templates」の「New...」ボタンをクリックすると新しいテンプレートが作成できます。

今回作ってみたのは、「Overlay Weaver」で頻出するConfigurationクラスのsetterとgetterを生成するコードテンプレート。どういうコードが頻出なのかというと、

private int successorListLength = DEFAULT_SUCCESSOR_LIST_LENGTH;
public int getSuccessorListLength() { return this.successorListLength; }
public int setSuccessorListLength(int len) {
	int old = this.successorListLength;
	this.successorListLength = len;
	return old;
}

これが○○Configurationクラスに多くあるわけです。この頻出コードの中身を見ると、共通する部分ごとにまとめることができます。

private 型名 フィールド名 = 初期値;
public 型名 getメソッド名() { return this.successorListLength; }
public 型名 setメソッド名/(型名 フィールド名) {
	型名 old = this.フィールド名;
	this.フィールド名 = フィールド名;
	return old;
}

すると、結局指定すべきは「型名」「メソッド名」「フィールド名」「初期値」の4つだけということになり、その他の部分は使い回せると分かりますちなみに、フィールド名は「successorListLength」で、仮引数名は「len」でしたが、ここでは書きやすさを重視して、フィールド名に統一しました

あとは、これを参考にして、Eclipseテンプレートの書き方に従うだけです。

private ${field_type} ${name} = ${default_value};
public ${field_type} get${Name}() { return this.${name}; };
public ${field_type} set${Name}(${field_type} ${name}) {
	${field_type} old = this.${name};
	this.${name} = ${name};
	return old;
}

こんな感じ。本当は、Templateはもう少し工夫するための機能があるのですが、使い方がよく分からなかったのと、ちょっとやってみたけどあまり良くならなかったので断念して元に戻してしまいました。テンプレートが無いときよりかは楽が出来てミスも減るということで小文字を先頭だけ大文字に変換とか出来たら良かったのですが出来なさそうです

Eclipseで学ぶはじめてのJava
Eclipse PDTではじめるPHPプログラミング入門
Eclipse 3.4 プラグイン開発 徹底攻略

Eclipse | コメント:0 | トラックバック:0 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

この記事のコメント

コメントの投稿 エントリの新旧に関わらず、極力18時間中に返信します。














この記事のトラックバック

トラックバックURL:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。