26

我有(Java)评论,例如:

/* 
 * The quick brown fox jumped over the lazy dog.
 *
 *
 * Notes:
 * - The quick brown fox jumped over the lazy dog. The quick brown fox
 *   jumped over the lazy dog. The quick brown fox jumped over the lazy
 *   dog.
 * - The second quick brown fox jumped over the lazy dog. The quick brown
 *   jumped over the lazy dog. The quick brown fox jumped over the lazy
 *   dog.
 */

Eclipse 自动格式化程序正确设置了注释行宽,但使它:

/*
 * The quick brown fox jumped over the lazy dog.
 * 
 * 
 * Notes: - The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy
 * dog. The quick brown fox jumped over the lazy dog. - The second quick brown fox jumped over the
 * lazy dog. The quick brown jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
 */

我如何让代码格式化程序保持原样保留项目符号列表,同时仍然处理评论?

备注

  • 我不想关闭加入评论的行,因为我确实希望我的评论行适合最大长度。因此,关闭线路连接、关闭 Javadoc 注释的格式设置或暂时暂停自动格式化,都不是可接受的解决方案。
  • 可能相关的问题
4

8 回答 8

42

这个答案说你在开头之后添加了一个连字符/*,即:

/*- 
 * The quick brown fox jumped over the lazy dog.
 *
 *
 * Notes:
 * - The quick brown fox jumped over the lazy dog. The quick brown fox
 *   jumped over the lazy dog. The quick brown fox jumped over the lazy
 *   dog.
 * - The second quick brown fox jumped over the lazy dog. The quick brown
 *   jumped over the lazy dog. The quick brown fox jumped over the lazy
 *   dog.
 */

这对我也有用。

于 2013-05-20T10:23:04.740 回答
15

您的问题的答案可能与此处相同:如何关闭 Java 代码某些部分的 Eclipse 代码格式化程序?

从 Eclipse 3.6 开始,您可以使用

// @formatter:off
...
// @formatter:on

禁用代码格式的注释。

更新

或者,您也可以更改 Preferences 中的注释设置:在 Java/Code Style/Formatter 中编辑 formatter 设置,并检查 Comments 页面的以下设置:

  • 启用 Javadoc 格式(常规设置)
  • 缩进 Javadoc 标记(Javadoc 设置)

顺便说一句,这种手动列表不会转换为生成代码中的列表。出于这个原因,使用 html 列表可能是有意义的。

于 2012-09-25T07:54:13.360 回答
10

我知道这个问题很老,但我也看到没有人给出满意的答案。

这解决了我的问题。

Preference->Java->Code Style->Formatter。在这里,转到您正在使用的任何格式化程序样式的编辑。在编辑对话框中,您将找到一个复选框启用块注释格式。取消选中此项。像我一样更改个人资料名称。申请并确定。你完成了。

请参考下图。 在此处输入图像描述

希望这可以帮助。

于 2019-09-24T08:37:42.440 回答
6

您可以更改 Eclipse 如何格式化注释并对块注释进行特殊处理。

进入窗口-> 首选项。Java > 代码风格 > 格式化程序。单击“新建”以创建新模板。然后在“评论”选项卡下禁用块评论格式。

但是,这永远不会对块注释执行任何格式化。

于 2012-09-25T11:17:44.113 回答
6

拿起 Bananeweizen 所说的,您还可以用<pre></pre>标签包装相关的评论块,将每个选项卡和空格保留在它的位置:

/* 
 * The quick brown fox jumped over the lazy dog.
 *
 *
 *<pre>Notes:
 * - The quick brown fox jumped over the lazy dog. The quick brown fox
 *   jumped over the lazy dog. The quick brown fox jumped over the lazy
 *   dog.
 * - The second quick brown fox jumped over the lazy dog. The quick brown
 *   jumped over the lazy dog. The quick brown fox jumped over the lazy
 *   dog.</pre>
 */
于 2015-03-23T15:49:36.883 回答
2

在 Java 中有两种不同的注释:

  • 块注释:它们没有标准格式,因此被格式化为浮动文本。
  • JavaDoc 注释:它们具有共同的结构,它们的格式取决于注释中使用的布局标签(如<br><p>)。

在 JavaDoc 中,您的示例可以如下编写(并且格式如下所示):

/**
 * The quick brown fox jumped over the lazy dog.
 * 
 * <p>
 * Notes:
 * <ul>
 * <li>The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown
 * fox jumped over the lazy dog.</li>
 * <li>The second quick brown fox jumped over the lazy dog. The quick brown jumped over the lazy dog. The quick
 * brown fox jumped over the lazy dog.</li>
 * </ul>
 * </p>
 */
于 2012-09-26T16:31:47.997 回答
1

具体来说,您要设置:

org.eclipse.jdt.core.formatter.comment.format_block_comments=false

这可以在 Eclipse 设置中的某处访问,对于 VS Code,在项目的根目录中,您需要一个 .settings 目录,其中包含包含该行的“org.eclipse.jdt.core.prefs”文件。该文件将包含 VS 代码利用的所有 Eclipse 设置。此设置同样适用于使用 Eclipse 设置的其他编辑器。

于 2018-09-15T02:46:00.047 回答
0

怎么样:

/**
 * The quick brown fox jumped over the lazy dog.
 *
 * <p>Notes:
 * <li>The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.</li>
 * <li>The second quick brown fox jumped over the lazy dog. The quick brown jumped over the lazy dog. The quick brown fox jumped over the lazy dog.</li>
 */

然后在 Windows -> Preferences -> Java -> Code Style -> Formatter -> Edit... -> Comments 中打开“Format HTML tags”

这仍然会导致线宽断线。

编辑:

我使用了以下块注释:

/*
 * The quick brown fox jumped over the lazy dog.
 *
 * Notes:
 * - The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
 * - The second quick brown fox jumped over the lazy dog. The quick brown jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
 */

我正在为 Java EE 使用 Eclipse Neon.3,我的 Formatter cor 注释设置为 150 的宽度,并选择了“从不加入行”。格式化此块注释会给我以下结果,我认为这是您可能想要的(尽管我知道您不想“从不加入行”)。

/*
 * The quick brown fox jumped over the lazy dog.
 *
 * Notes:
 * - The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The
 * quick brown fox jumped over the lazy dog.
 * - The second quick brown fox jumped over the lazy dog. The quick brown jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
 * The quick brown fox jumped over the lazy dog.
 */

只有1个小问题。当我在第一个项目符号列表中添加更多文本然后再次格式化时,我得到以下结果。

/*
 * The quick brown fox jumped over the lazy dog.
 *
 * Notes:
 * - The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The
 * SOME MORE TEXT TO WRAP
 * quick brown fox jumped over the lazy dog.
 * - The second quick brown fox jumped over the lazy dog. The quick brown jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
 * The quick brown fox jumped over the lazy dog.
 */

那是因为我告诉格式化程序“不要加入行”。当我取消选择“从不加入行”时,我显然会得到与您相同的结果。

于 2018-05-30T08:32:49.450 回答