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组合。