自定义Eclipse格式

时间:2011-04-28 22:51:04

标签: java eclipse code-formatting

我知道在哪里更改Formatter的首选项并在那里更改选项。我无法弄清楚如何让它按照我想要的方式进行格式化,如果可能的话,我希望能有一些帮助来格式化这种“我的”方式。 :)

目前设置为“必要时换行”,这似乎与我想要的最接近。然而,它产生的结果并不是我想要的。 当前格式的示例类似于

LOG.error(
    String.format(
        "Creating JSON Object from event array @ line number %d failed",
        key.get()), e);

这比那里好得多。我重新格式化了这段代码。在它看起来像之前

        LOG
                .error(
                        String
                                .format(
                                        "Creating JSON Object from event array @ line number %d failed",
                                        key.get()), e);

这种格式化遍及整个代码。是的,标签会准确地反映为代码中的内容。以前的开发必须有不同的设置......看起来这就是促使我编写代码的原因。进行调查和检查显示我的设置(默认)以生成第一个片段。如果这代表了所有代码,我可能会没事的。但是自从我开始写作以来,我只是继续写作。

所以,按照我的意愿。我希望这最终成为

LOG.error(String.format(
        "Creating JSON Object from event array @ line number %d failed",
        key.get()), e);

string被分解,因为它延伸到行长度并且key.get...被破坏,因为它超过行长度。字符串本身(如所定位的)位于行长度之上,这就是key.get...被删除的原因。

我对eclipse中处理这个问题的设置不太熟悉(今天感谢Google发现它们)并且随机改变了一些希望找到我正在寻找的东西并不是一个有吸引力的选项。

显然,组件的长度将影响结果,因为起始空白区域 在格式化操作LOG.error(String.Format(的两个示例中,不超过行长度。我不希望它分成两行。我该怎么改变才能纠正这个问题? (对于那个简单的问题来说,这是一个很长的帖子......呵呵)

更新 我尝试按照下面的建议进行//,我得到了以下结果

LOG.error(
        String.format(
                //
                "Creating JSON Object from event array @ line number %d failed",
                key.get()), e);

3 个答案:

答案 0 :(得分:1)

这个问题不是一个完整的答案,但是:强制Eclipse格式化程序打破界限的一种简单方法是假装插入注释。我有时会在换行符之前添加//,而Eclipse不会还原它,而是按预期缩进下一行。

所以我试试这个:

LOG.error(String.format( //
        "Creating JSON Object from event array @ line number %d failed",
        key.get()), e);

根据您的首选线宽,也可能需要第二行的另一个//

答案 1 :(得分:1)

感谢您的投入。我似乎无法完全按照自己的意愿获得它。灵活性似乎并不存在。

我还有其他几行帮助指导了我已经确定的设置。

对于 Arguments 我有 Wrap必要缩进列
对于合格的调用,我将其设置为不包装

其余的事件发生频率较低。我将它们设置为 Wrap,必要时缩进一个。我为这些看了几个实例,它希望按照我喜欢的方式设置它们。

我最终得到的指定行的结果与Digitalxero显示的结果相同。如果我使用//作为Jean-Philippe Pellet提及的话,它现在就会显示出来 我不打算使用//(虽然我喜欢这个建议)因为我不太关心格式化以在整个代码中分散//

总的来说,这些设置使得一切都能够在我想要的地方工作得足够接近。

答案 2 :(得分:0)

你需要编辑 缩进以使用Tab大小:4

在线环绕选项卡

  • 将换行的默认缩进设置为1
  • 在函数调用下它应该是
    • 必要时包裹(5/5)
    • 第5栏(第5页,共5页)缩进

我从Java约定[内置]开始,只进行了那些更改,然后转为

 LOG.error(String.format("Creating JSON Object from event array @ line number %d failed",key.get()), e);

LOG.error(String.format("Creating JSON Object from event array @ line number %d failed",
                        key.get()), e);