【问题标题】:Can Eclipse Formatter Wrap Where Necessary, Every Element on a New Line?Eclipse Formatter 能否在需要的地方换行,每一个元素都换行?
【发布时间】:2011-11-02 06:24:22
【问题描述】:

我想弄清楚如何自定义 Eclipse 代码格式化程序以更符合我的喜好。我正在尝试在方法声明或调用中设置参数列表的样式。寻找Wrap where necessaryWrap all elements, every element on a new line 的组合。我想Wrap where necessary, every element on a new line,这似乎不存在。我的逻辑是短线不需要中断,我的眼睛可以水平扫描参数列表:

public void myMethod(int p1, int p2, int p3) {

但是对于确实需要分解的列表,我希望每个元素都换行,这样我就可以垂直扫描:

public void myMethodWithALotOfParams(
    ReallyLongClassName param1,
    AnotherLongName aLongParamName,
    int p3) {

我似乎无法做到这一点。我可以包装所有内容,包括短名单。我只能换行很长的行,并继续在每一行上堆叠参数,直到到达边距。我不能在长行上触发换行,然后将每个参数放在自己的行上。

这种风格可以在 Code Complete (2nd Ed) 的多个地方看到。

更新>>

我认为 Eclipse 没有内置任何东西来处理这个问题,但我并不害怕编写代码。 :) Eclipse 是开源的,所以我试图找到处理格式化的代码,以期构建首选行为。第一次尝试时运气不佳,有很多抽象,没有太多解析和格式化。提示?

【问题讨论】:

  • 我认为这也不可能,但您至少可以对 Eclipse 说,自插入换行符会留在原处。就我个人而言,我总是将相关的参数组合在一起:不好的例子,inBuffer,inOffset,inLength(你应该使用 ByteBuffer 而不是当然,它包含所有三个参数)。
  • 我喜欢你自己解决这个问题并为 eclipse 贡献新功能的态度! :-)

标签: java eclipse coding-style format


【解决方案1】:

this link

窗口 -> 首选项 -> Java -> 代码样式 -> 格式化程序 -> 新建(配置文件) -> 编辑 -> 换行 -> 从不加入已经换行的行

如果要更改换行参数,也可以更改其他参数。

【讨论】:

    【解决方案2】:

    我也想拥有这样的功能,不幸的是(正如您已经猜到的),目前还不可能。如果您愿意,可以在eclipse-bugzilla 提交错误,在这里您会发现一些关于 jdt 格式的错误:https://bugs.eclipse.org/bugs/buglist.cgi?quicksearch=jdt+formatter。如果您提交了新的错误,请告诉我们,以便所有感兴趣的人都可以投票!

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      相关资源
      最近更新 更多