如何“正确”缩进流畅的界面模式与日食?

发布于 2024-10-02 10:40:15 字数 439 浏览 0 评论 0原文

我刚刚为一些流畅的界面创建了一个生成器。现在我有很多代码看起来像这样:

new MyFluentInterface()
    .setFirst( "first" )
    .setSecond( "second" )
    .setThird( "third" )
    .invoke( obj );

我喜欢上面显示的缩进,但我找不到配置 Eclipse 来正确缩进的方法。

eclipse 总是这样缩进:

new MyFluentInterface()
.setFirst( "first" )
.setSecond( "second" )
.setThird( "third" )
.invoke( obj );

如何配置 eclipse 以便缩进这个流畅的界面模式,如我的第一个代码示例所示?

I just created a generator for some fluent interfaces. Now I have lots of code looking like this:

new MyFluentInterface()
    .setFirst( "first" )
    .setSecond( "second" )
    .setThird( "third" )
    .invoke( obj );

I like the indentation shown above, but I can't find a way to configure eclipse to indent this correctly.

eclipse always indents like this:

new MyFluentInterface()
.setFirst( "first" )
.setSecond( "second" )
.setThird( "third" )
.invoke( obj );

How can I configure eclipse so that it indents this fluent interface pattern as shown in my first code example?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

莫言歌 2024-10-09 10:40:15

对于 Eclipse 3.6,这似乎可以通过配置自定义 Java > 来实现。代码风格>格式化程序配置文件。编辑它并转到换行选项卡并选择函数调用>合格的调用。然后,在合格调用设置中,配置如下内容:

alt text

这将 (应该)产生预期的结果:

SomeEntity e1 = new SomeEntity.Builder()
    .age(10)
    .amount(10.0d)
    .firstname("foo")
    .lastname("bar")
    .build();

但这显然会影响所有代码,我个人不喜欢。所以我使用新的 Eclipse 3.6 中的关闭/开启标签(编辑配置文件时的最后一个选项卡):

alt text

并附上未按照我想要的方式格式化的部分并自己完成:

// @formatter:off
SomeEntity e2 = new SomeEntity.Builder()
    .age(10)
    .amount(10.0d)
    .firstname("foo")
    .lastname("bar")
    .build();
// @formatter:on

选择你的毒药:)

With Eclipse 3.6, this seems doable by configuring your custom Java > Code Style > Formatter profile. Edit it and go to the Line Wrapping tab and select Function Call > Qualified invocations. Then, in the Settings for qualified invocations, configure things like this:

alt text

This will (should) produce the expected result:

SomeEntity e1 = new SomeEntity.Builder()
    .age(10)
    .amount(10.0d)
    .firstname("foo")
    .lastname("bar")
    .build();

But this will obviously affect all the code, which I personally don't like. So I'm using the new Off/On Tags from Eclipse 3.6 (last tab when editing a profile):

alt text

And enclose the parts that don't get formatted as I want and do it myself:

// @formatter:off
SomeEntity e2 = new SomeEntity.Builder()
    .age(10)
    .amount(10.0d)
    .firstname("foo")
    .lastname("bar")
    .build();
// @formatter:on

Pick your poison :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文