Eclipse:Java Enum自动完成切换案例
在Eclipse中给定的Java Enum中围绕“自动构build”开关的情况有没有类似CTRL +的空间方式? 我想要一个所有枚举情况的存根…
它在Eclipse已经有好几年了。 无可否认,这只是有点难以find。 首先从开始
switch (myEnum) { }
在那个时候,你的游标通常在语句块{}
。 你需要把你的cusror放回到带有switch
关键字的行,然后按Ctrl + 1并selectAdd missing case语句 。 这样它会插入任何可能的case
。
你可以直观的看到,这个选项在语句块{}
中也是可用的,但是没有。
更新 :自从Eclipse Kepler(或者也许已经是Juno,但是它非常不稳定,以至于我从来没有真正使用它),这个选项最终也可以通过语句块中的Ctrl + 1来获得。
我不知道是否有可能做到这一点作为模板,因为模板将不得不知道你正在使用的枚举types。 但是你可以写一个脚本来打印出你的语句,然后把它的输出复制到源文件中。
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)
输出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来添加自己的代码模板。
一旦添加了代码模板,请input足够的模板名称以使其具有唯一性; 键入CTRL +空格; 并且您定义的代码将replace模板名称字符。
Eclipse Galileo中预定义了开关模板。 sw + CTRL +空格应该给你一个switch语句。 您可能需要修改现有模板才能为您提供switch-enum组合。