是否有一种CTRL +类似空格的方式在Eclipse中围绕给定的Java Enum“自动构建”一个switch案例?我想要一个包含所有Enum案例的存根...
答案 0 :(得分:120)
它已经在Eclipse中存在了很长时间。诚然,这有点难以找到。首先从
开始switch (myEnum) {
}
此时,您的光标通常位于语句块{}
内。您需要使用switch
关键字将您的cusror放回到该行,然后按 Ctrl + 1 并选择添加缺失的案例陈述 。这样它就会插入任何可能的case
。
您直观地希望此选项在语句块{}
内可用,但不是。
更新:自从Eclipse Kepler(或者已经是Juno,但它太不稳定以至于我从未真正使用它),这个选项终于可以通过 Ctrl + 1 也在语句块中。
答案 1 :(得分:4)
我不知道是否可以将此作为模板,因为模板必须知道您正在使用哪种枚举类型。但是您可以编写一个小脚本来为您打印语句,然后将其输出复制到源文件中。
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
}
答案 2 :(得分:0)
您可以使用以下方法添加自己的代码模板:Windows-&gt;偏好设置&gt; Java-&gt;编辑器 - &gt;模板。
添加代码模板后,键入足够的模板名称字符以使其唯一;键入CTRL + Space;并且您定义的代码将替换模板名称字符。
切换模板在Eclipse Galileo中预定义。 sw + CTRL + Space应该给你一个switch语句。您可能必须调整现有模板以提供switch-enum组合。