【问题标题】:Eclipse formatter to allow aligning ='s and Javadoc tabEclipse 格式化程序允许对齐 = 和 Javadoc 选项卡
【发布时间】:2014-09-08 15:46:00
【问题描述】:

我正在使用 Eclipse 格式化程序,我想要以下代码格式化。注意 JavaDoc 和 = 是如何对齐的。

我想要什么:

/**
 * Description.
 *
 * @param alpha this is what alpha does
 * @param beta  this is what beta does
 * @param gamma this is what gamma does
 * @param delta this is what delta does
 */
public Foo(Bar alpha, Bar beta, Bar gamma, Bar delta) {
    this.alpha = alpha;
    this.beta  = beta;
    this.gamma = gamma;
    this.delta = delta;
}

什么eclipse格式:

/**
 *
 * @param alpha this is what alpha does
 * @param beta this is what beta does
 * @param gamma this is what gamma does
 * @param delta this is what delta does
 */
public Foo(Bar alpha, Bar beta, Bar gamma, Bar delta) {
    this.alpha = alpha;
    this.beta = beta;
    this.gamma = gamma;
    this.delta = delta;
}

有谁知道这是否可行?

如果无法自动执行此操作,是否可以让格式化程序忽略这些行上的空格?

【问题讨论】:

    标签: java eclipse formatter


    【解决方案1】:

    看起来过于具体,无法提供内置解决方案。可能有一个插件可以帮助解决这个问题。

    如果无法自动执行此操作,是否可以让格式化程序忽略这些行上的空格?

    是的,带有@formatter 标签。

    1. 转到Windows > Preferences
    2. 从那里Java > Code Style > Formatter > Edit
    3. 选择On/Off Tags 标签并选中Enable 复选框。
    4. 将它们应用到您的代码中:

      //@formatter:off
      /**
      * Description.
      *
      * @param alpha this is what alpha does
      * @param beta  this is what beta does
      * @param gamma this is what gamma does
      * @param delta this is what delta does
      */
      //@formatter:on
      public Foo(Bar alpha, Bar beta, Bar gamma, Bar delta) {
          this.alpha = alpha;
          this.beta  = beta;
          this.gamma = gamma;
          this.delta = delta;
      }
      

    或者,如果您想禁用所有 Javadoc 格式:

    1. 选择Comments 标签并取消选中Enable Javadoc comment formatting 复选框。

    以下不是您想要的,因为它添加了新行,但可能对您来说足够接近,因为它使参数描述彼此对齐:

    /**
     * Description.
     *
     * @param alpha
     *            this is what alpha does
     * @param beta
     *            this is what beta does
     * @param gamma
     *            this is what gamma does
     * @param delta
     *            this is what delta does
     */
    

    这是通过以下方式实现的:

    1. 选择Comments 标签并选中Indent Javadoc tags、(可选)Indent description after @paramNew line after @param tags 复选框。

    【讨论】:

    • 这没关系,但是你有一个插件的例子可以处理这个吗?
    • @screenmutt 不,我自己从来不需要。
    【解决方案2】:

    您可以使用Jindent 插件,该插件可用于最常见的 IDE: Eclipse、Netbeans、JDeveloper、IntelliJ IDEA、JBuilder

    这将保留代码的格式

    /**
     * Description.
     *
     * @param alpha this is what alpha does
     * @param beta  this is what beta does
     * @param gamma this is what gamma does
     * @param delta this is what delta does
     */
    public Foo(Bar alpha, Bar beta, Bar gamma, Bar delta) {
        this.alpha = alpha;
        this.beta  = beta;
        this.gamma = gamma;
        this.delta = delta;
    }
    
    //~ Formatted by Jindent --- http://www.jindent.com
    

    不同于Eclipse默认的格式化命令Ctrl + Shift + F,需要使用
    Ctrl + Shift + J 使用Jindent格式化您的代码。

    它只会在代码末尾添加一个注释,您必须手动删除它。


    更新:要安装它,只需将图标拖到 Eclipse 窗口上即可

    【讨论】:

      猜你喜欢
      • 2013-01-13
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 2013-11-16
      • 2021-05-31
      • 1970-01-01
      • 2020-04-11
      相关资源
      最近更新 更多