【问题标题】:Customizing Eclipse Formatting自定义 Eclipse 格式
【发布时间】:2011-08-15 02:51:01
【问题描述】:

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

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

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);

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

那么,就我想要的。我希望这最终成为

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

string 被破坏是因为它超出了行长度,而key.get... 被破坏是因为它超过了行长度。字符串本身(按定位)超过了行长度,这就是key.get... 被删除一行的原因。

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

显然,组件的长度会影响结果,就像起始空白一样。
在格式化如何操作的两个示例中LOG.error(String.Format( 的长度不超过行长度。我不希望它分成两行。我该怎么做才能纠正它? (对于这么简单的问题,这是一个很长的帖子......呵呵)

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

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

【问题讨论】:

  • 这不是 100% 相关的,但是您是否有机会使用 SLF4J?

标签: java eclipse code-formatting


【解决方案1】:

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

所以我会试试这个:

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

根据您喜欢的线宽,可能还需要第二行上的另一个//

【讨论】:

    【解决方案2】:

    感谢您的意见。看来我不能完全按照我的意愿得到它。灵活性似乎并不存在。

    我还有其他几行可以帮助指导我如何确定设置。

    对于参数,我有必要时换行列缩进
    对于合格的调用,我将其设置为不换行

    其余的发生频率较低。我将它们设置为必要时换行缩进一个。我查看了几个实例,它看起来以我喜欢的方式设置它们。

    我最终得到的指定行的结果与 Digitalxero 显示的相同。如果我像 Jean-Philippe Pellet 提到的那样使用 //,它现在将按照他的说明进行操作。
    我不会使用//(虽然我喜欢这个建议),因为我不太关心在整个代码中分散// 的格式。

    总体而言,这些设置使它达到了一个点,即一切都趋于接近我想要的位置。

    【讨论】:

      【解决方案3】:

      您需要编辑 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);
      

      【讨论】:

        猜你喜欢
        • 2014-02-13
        • 2014-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多