Eclipse - 格式化开关语句

时间:2015-05-21 01:01:46

标签: eclipse formatting format switch-statement

目前我

    switch (numberString) {
       case "FOUR": number = 4; break;
       case "FIVE": number = 5; break;
    }

这是一个简单的switch语句,但是如果我使用eclipse的格式键,ctrl shift F,突然间它会变成10行,分解case,value =和break;一直到不同的路线。 反正有没有改变格式化程序忽略switch语句?感谢

4 个答案:

答案 0 :(得分:1)

我也在努力解决这个问题。唯一的选择似乎是使用格式化程序开/关注释标记。

选择格式化程序设置中的“关闭/开启标签”选项卡,然后选中“启用关/开标签”。

然后在您的代码中,在switch语句之前添加//@formatter:off,在之后添加//@formatter:on

非常确定这是目前唯一的解决方法。

答案 1 :(得分:1)

我正在使用Eclipse Oxygen 3a,并且发现了在切换案例中缩进case语句的设置:

Preferences> Java> Code Style> Formatter> Edit...> Indent

检查“开关”正文中的语句

enter image description here

答案 2 :(得分:0)

Eclipse的自动格式为每个半冒号分解新行。它还将分隔长单行以适应视图窗格,并且不进行左右滚动 - 使用缩进添加新行。您的示例语句似乎太短而无法触发,但如果这只是一个示例,那么我的猜测。我还没有找到一种方法来定位自动格式的效果。 (对于mac Cmnd + Shift + F)

答案 3 :(得分:0)

考虑(4年后) Eclipse 4.12 (2019年6月),并结合Java 12(2019年3月)。

它现在具有:

  

随着Java 12在switch构造中引入了一些新功能,格式化程序配置文件对其进行了一些新设置。
  通过设置,您可以控制箭头运算符周围的空格(大小写和默认情况分别)和多值大小写逗号之间的空格。

     

可以在Preferences > Java > Code Style > Formatter > Edit...'White space > Control statements >'小节下的配置文件编辑器(switch)中找到设置。

https://www.eclipse.org/eclipse/news/4.12/images/formatter-switch.png

  

随着Java 12引入了将多个switch案例标签分组为单个案例表达式的功能,提供了一种快速帮助,该帮助将这些分组的标签拆分为单独的case语句。

https://www.eclipse.org/eclipse/news/4.12/images/split-switch-case-labels.png

如您所见,这些开关表达式仍然非常紧凑。