Eclipse格式化程序选项'。'对齐(Java)

时间:2013-01-29 14:31:50

标签: java eclipse

我希望Eclipse格式化一些调用构建器的代码,如下所示:

final Item item = new Item.Builder()
                          .name("something")
                          .field("a value")
                          .build();

即。对齐'。'第一行的字符。我可以通过手动对齐第二行(.name(“something”))来手动说服Eclipse这样做,但任何自动格式化都会破坏它。

我已经玩过了我在Eclipse中可以找到的所有各种格式化选项,但它们似乎都没有我想做的事情。关于是否有以这种方式布置代码的格式选项的任何想法?

3 个答案:

答案 0 :(得分:5)

无法精确对齐点位置,但每个方法调用的换行符都可以自动完成。我已经创建了这个输出

void format() {
    Test test = new Test()
            .a()        // this call can also be configured to be one line above
            .b()
            .c();
}

在格式化程序设置中选择行换行标签,选择函数调用,合格调用,在组合中切换换行策略框到包裹所有元素,新行上的每个元素,最后选中复选框强制拆分,即使行短于最大行宽

您可以通过选择“...除第一个元素”政策来获得第一个方法调用。

答案 1 :(得分:0)

创建一个新的形成器:

Properties -> Formater -> Configure Workspace Settings -> New

然后在标签Off/On Tags上设置Enable Off/On tags

然后像这样围绕你的代码:

/* @formatter:off */
final Item item = new Item.Builder()
                          .name("something")
                          .field("a value")
                          .build();
/* @formatter:on */

答案 2 :(得分:0)

我认为,你可以通过使用' jalopy'来实现这一目标。如果你使用Maven,有一个Maven插件。

如果您想使用jalopy,那么您感兴趣的设置是<methodCallChain>元素alignment,其值应设置为true

编辑:maven jalopy plugin。确保定位clean阶段并使用目标format