2013-01-18 120 views
1

我使用的格式不正确的现有代码。 Eclipse格式化程序在格式化时失败,我是配置格式化程序的新手。因此,经过一段时间的努力,我失败了。内置模板不起作用。无论如何,我想使用Eclipse的格式化程序,而不是在一个插件。日食代码格式化程序

我想获得以下代码...

/** Class A 
    */ 
public class A 
{ 
    /** An int */ 
    int i; 

    /** An A */ 
    A(int i) 
    { this.i = i; 
    } 

    /** Gets i */ 
    int getI() 
    { int b = i *2; 
     if(check()) 
     { try { doIt(); } catch (Exception e) {doIt();} 
      if (check()) 
      { if (check()) doIt(); 
       else return i; 
      } 
     } 
     return b; 
    } 

    private void doIt() {} 

    private boolean check() {return false;} 
} 

...格式化成...

/** 
* Class A 
*/ 
public class A { 

    /** 
    * An int 
    */ 
    int i; 

    /** 
    * An A 
    */ 
    A(int i){ 
     this.i = i; 
    } 

    /** 
    * Gets i 
    */ 
    int getI(){ 
     int b = i *2; 
     if(check()){  
      try { 
       doIt(); 
      } catch (Exception e) { 
       doIt(); 
      } 
      if (check()){ 
       if (check()){ 
        doIt(); 
       }else{ 
        return i; 
       } 
      } 
     } 
     return b; 
    } 

    private void doIt() {} 

    private boolean check() {return false;} 

} 

有没有办法配置Formatter来处理我的问题?

任何帮助表示高度赞赏,因为这是一个很大的代码:-)

+2

格式化程序在格式化时如何“失败”?如果你有错误,你应该把它添加到你的问题。 – sharakan

+0

-1实际上没有指定出错 –

+0

嗯,我没有指定错误,因为没有。代码没有按照需要格式化,就是这样。无论如何,一个正确的答案已经发布。 – aboger

回答

2

使用Clean UpSource -> Clean Up...)而不是格式化程序。 Clean Up可以选择使用ifwhile,dofor语句块以及格式化选项,因此您可以将格式设置得非常接近您想要的格式。

+0

使情况变得更糟。但很高兴知道。谢谢! – aboger

+0

@my_greets:它究竟会变得更糟?你可以在那里配置几乎所有的东西。看看我给出的链接。 – vitaut

+0

非常感谢。格式化为Harsha后,我再次尝试。现在按需要工作。 – aboger

2

窗口/首选项:检查的Java /代码样式/格式化。 然后“编辑”活动配置文件。

然后查找“大括号”选项卡。 例如,您可以在那里配置方法,构造函数等...声明为“在同一行上”。

+0

试过了,没有工作 – aboger

+0

只有代码可以被Eclipse编译时它才能工作。 – tibkov

1

我认为,按Ctrl + Shift + F在Eclipse能够做到这一点

+0

是的,它的确如此,谢谢。但是有没有办法添加大括号? – aboger

+0

Arrgh ...我使用Ctrl + Shift + I直到现在: -/ – aboger

+0

@my_greets:使用“清理”来添加大括号。看到我的答案。 – vitaut

3

首先,你的代码是不是编译。您首先需要修复编译错误,之后Eclipse将不再按照您期望的方式格式化代码。

+0

对不起。现在应该是可编译的。 – aboger

2

Java(Sun)codestyle在右边有大括号,而不在新行。我建议你习惯这种代码风格。除了许多程序员,比如新系列的大括号外,大部分Java代码都使用java standard conventions

许多程序员并不完全尊重这些指导原则(我是少数不喜欢遵循colum 80的人之一),所以这些约定必须适应您的感觉。但总体方向是Java代码用于在同一行上打开花括号(例如,与C不同)。

保持一般风格是一个不错的主意,也可以帮助您阅读其他人的代码。

BTW,Eclipse的格式是完全可定制,你可以对新线的支撑,如果你觉得这样:

enter image description here

这看起来C代码给我:)。

+0

嗯,我试过但失败了。这就是为什么我问:-) – aboger