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

jgm*_*jgm 14 java eclipse

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

final Item item = new Item.Builder()
                          .name("something")
                          .field("a value")
                          .build();
Run Code Online (Sandbox Code Playgroud)

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

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

Ban*_*zen 5

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

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

通过选择格式化程序设置中的" 换行"选项卡,选择" 函数调用","合格调用",将组合框中的行策略切换为" 换行"所有元素,新行上的每个元素,最后选中" 强制拆分 "复选框,即使行缩短比最大线宽.

您可以通过选择"...除第一个元素"策略来将第一个方法调用放入第一行.


isv*_*all 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 */
Run Code Online (Sandbox Code Playgroud)