使Eclipse的Java代码格式化忽略块注释(Making Eclipse's Java

2019-06-23 19:22发布

有没有一种方法,使Eclipse的内置Java代码格式化忽略注释? 每当我运行它,它变成这样:

    /*
     * PSEUDOCODE
     * Read in user's string/paragraph
     * 
     * Three cases are possible
     * Case 1: foobar
     *         do case 1 things
     * Case 2: fred hacker
     *         do case 2 things
     * Case 3: cowboyneal
     *         do case 3 things
     *         
     * In all cases, do some other thing
     */

这个:

    /*
     * PSEUDOCODE Read in user's string/paragraph
     * 
     * Three cases are possible Case 1: foobar do case 1 things Case 2: fred
     * hacker do case 2 things Case 3: cowboyneal do case 3 things
     * 
     * In all cases, do some other thing
     */

我已经用Windows>首选项>的Java>代码样式>格式化设置围绕播放,但不能找到一个保持注释的格式。 我使用Eclipse 3.4.0。

Answer 1:

更新2010年,随着指出由OP和在这个答案 ,特殊字符串// @formatter:off在Eclipse 3.6就足够了。

这是不可用的问题的时间。


原来的答复:2009年6月, Eclipse的3.4 / 3.5

与Java格式化( Windows > Preferences > Java > Code Style > Formatter ),您可以创建一个新的格式化配置文件。

在注释标签(在eclipse3.5),你可以确保,在“ Javadoc comment settings ”,取消选中“ Format HTML tags ”。
检查也是“ Never join lines ”中的“在General settings ”部分。

然后,您的评论应该写成:

/**
 * PSEUDOCODE
 * Read in user's string/paragraph
 * 
 * Three cases are possible:
 * <dl>
 *   <dt>Case 1: foobar</dt>
 *     <dd>        do case 1 things</dd>
 *   <dt>Case 2: fred hacker</dt>
 *     <dd>        do case 2 things</dd>
 *   <dt>Case 3: cowboyneal</dt>
 *     <dd>        do case 3 things</dd>
 * </dl>        
 * In all cases, do some other thing
 */

注:我已经作出了Javadoc注释,而不是一个简单的评论,因为我相信在那么远的文字注释,可以更好地放在方法的前面。 此外,部分的Javadoc有更多的格式化参数一起玩。
如果它是在一个方法(真实的Javadoc)的前面,所述HTML标签<dl> <DT><dt> <DD>将有助于的Javadoc视图范围内正确地呈现它。



Answer 2:

还有就是你可以用它来抑制特定块注释的格式另一种解决方案。 使用/*-注意连字符)在块注释的开始,如果你格式化文件的其余部分的格式将不会受到影响。

/*-
 * Here is a block comment with some very special
 * formatting that I want indent(1) to ignore.
 *
 *    one
 *        two
 *            three
 */

来源: http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141999.html#350



Answer 3:

我只是从一个同事那Eclipse提供了可用于这个特殊的格式标记了解到:

// @formatter:off
/*
 * ╔════════╦═══════╦══════════╗
 * ║ Month  ║ Sales ║ Position ║
 * ╠════════╬═══════╬══════════╣
 * ║ June   ║ 44k   ║ 2nd      ║
 * ║ July   ║ 39k   ║ 2nd      ║
 * ║ August ║ 49k   ║ 4th      ║
 * ╚════════╩═══════╩══════════╝
 *
 * This comment shouldn't be formatted, and will now be ignored by the formatter.
 */
// @formatter:on

请注意,您可能需要通过Preferences菜单→的Java>代码样式>格式化手动启用此功能,点击编辑 ,选择关闭/打开标签选项卡,并选中Enable关闭/打开标签 ( 源 )。

快速谷歌的字符串@formatter:关把我带到这个其他SO回答 ,这在禁止用于代码块格式的上下文中提及此功能。 我已经证实,它适用于行注释,“正常的”块注释和Javadoc块注释为好。



Answer 4:

另一种可能性是HTML的<前> Javadoc中的使用方法:

/**
 * <pre>
 *    this
 *   is
 *      kept
 *  as
 *    is
 * </pre>
 */

至少这是我倾向于嵌入我的ASCII艺术的源代码注释:)



Answer 5:

围绕与所述特定文本<pre> </pre>标记。



Answer 6:

在Eclipse 3.4:偏好,基于Java>代码风格 - >格式化,然后编辑个人资料,评论选项卡。 有用于控制注释格式一堆选项出现。



Answer 7:

如果你想剿在eclipse格式,你可以随时换行是为了不被格式化成内容<pre>UNFORMATTED CONTENT</pre>标签。 的Javadoc格式将检测标签 ,并保留一切之间的标签格式化。

优点:

  • 的Javadoc的其余部分仍然是格式化
  • Javadoc中的HTML输出将是“格式化”,以及由于前期标签

缺点:

  • 没有看到一个


Answer 8:

一个解决办法是添加预先标记的意见,你不希望Eclipse来格式

/**
 * <pre>
 *    this part
 *   is
 *      out of
 *  format
 *    
 * </pre>
 */


Answer 9:

它是依赖于语言。

例如,如果使用JavaScript,你会去“窗口 - >首选项 - >使用Javascript - >代码样式 - >格式化”,然后编辑格式选项。

编辑 (反映changesin OP问题

对于编辑Java代码格式化,进入“窗口 - >首选项 - >爪哇 - >代码样式 - >格式化”

在面板的顶部,你会看到

活动简介:
日食[内置]

从那里,你有一个按钮右边,“编辑”和两个低于“新...”和“导入”。 我会建议编辑现有的配置文件。

在编辑配置文件对话框,有一系列沿顶部的选项卡中。 最后一个选项卡“注释”。 完全禁用评论格式化,取消“启用Javadoc注释格式”,“启用块注释格式”,“启用行注释格式”和“使能头注释格式化”。



Answer 10:

您可以在Windows中更改此 - 首选项 - 爪哇 - 代码样式 - 格式化,比单击编辑..按钮,找到注释,选择永不相交的线。

然后,它应该没问题。



文章来源: Making Eclipse's Java code formatter ignore block comments