eclipse代码格式化程序

时间:2013-01-18 14:38:01

标签: java eclipse formatting

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

我想获得以下代码......

/** 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来处理我的问题?

任何帮助都非常受欢迎,因为它有很多代码: - )

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

在Window / Preferences中:检查Java /代码样式/格式化程序。 然后“编辑”活动的个人资料。

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

答案 2 :(得分:2)

Java(Sun)codestyle右侧有大括号,而不是新行。我建议你习惯这种代码风格。除了新行上的大括号等许多程序员之外,大多数Java代码都使用java standard conventions

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

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

顺便说一下,Eclipse格式化程序是完全可自定义的,如果您愿意,可以在新行上使用大括号:

enter image description here

这看起来对我来说是C代码:)。

答案 3 :(得分:2)

使用Clean UpSource -> Clean Up...)代替格式化程序。清理可以选择使用ifwhiledofor语句的块以及格式选项,这样您就可以获得非常接近您想要的格式

答案 4 :(得分:1)

我认为Eclipse中的Ctrl + Shift + F可以做到这一点