特定のJava EnumのEnumの周りにスイッチケースを「自動構築」するCTRL +スペースのような方法はありますか?すべてのEnumケースを含むスタブが欲しいです...
それは長い間エクリプスにありました。確かに見つけるのは少しだけ難しいです。最初に
switch (myEnum) {
}
その時点で、カーソルは通常、ステートメントブロック{}
内にあります。 cusrorをswitch
キーワードを含む行に戻し、 Ctrl+1 不足しているケースステートメントを追加を選択します。これにより、可能なすべてのcase
が挿入されます。
このオプションがinsideステートメントブロック{}
でも利用できることを直感的に期待できますが、利用できません。
pdate:Eclipse Kepler(またはおそらくすでにJunoですが、あまりにも不安定なので、実際には使用していません)なので、このオプションはfinally経由で利用可能 Ctrl+1 ステートメントブロック内でも同様です。
テンプレートが使用している列挙型を知っている必要があるため、これをテンプレートとして実行できるかどうかはわかりません。ただし、ステートメントを出力する小さなスクリプトを記述して、その出力をソースファイルにコピーするだけです。
_public class SwitchWriter {
public static void printSwitchStatement(String varName, Class<?> E) {
System.out.format("switch(%s) {\n", varName);
for (Object o : E.getEnumConstants()) {
System.out.format("case %s:\n // TODO: Auto-generated switch statement stub\n break;\n", o);
}
System.out.println("default:\n // TODO: Auto-generated switch statement stub\n}");
}
}
_
SwitchWriter.printSwitchStatement("action", Java.awt.Desktop.Action.class)
の出力:
_switch(action) {
case OPEN:
// TODO: Auto-generated switch statement stub
break;
case EDIT:
// TODO: Auto-generated switch statement stub
break;
case PRINT:
// TODO: Auto-generated switch statement stub
break;
case MAIL:
// TODO: Auto-generated switch statement stub
break;
case BROWSE:
// TODO: Auto-generated switch statement stub
break;
default:
// TODO: Auto-generated switch statement stub
}
_
Windows-> Preferences-> Java-> Editor-> Templatesを使用して、独自のコードテンプレートを追加できます。
コードテンプレートを追加したら、テンプレート名を一意にするのに十分な文字を入力します。 CTRL +スペースを入力します。定義したコードがテンプレート名の文字を置き換えます。
スイッチのテンプレートは、Eclipse Galileoで事前定義されています。 sw + CTRL + Spaceでswitchステートメントが表示されます。スイッチと列挙型の組み合わせを提供するために、既存のテンプレートを調整する必要がある場合があります。