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

15

あなたの質問への答えはおそらくここと同じです: How to turn the Eclipse code formatter for specific sections of Java code?

Eclipse 3.6 以降では、

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

コードの書式設定を無効にする注釈。

更新

または、環境設定でコメント設定を変更することもできます。Java/コード スタイル/フォーマッターでフォーマッター設定を編集し、コメント ページで次の設定を確認します。

  • Javadoc フォーマットを有効にする (一般設定)
  • Javadoc タグのインデント (Javadoc 設定)

ところで、この種の手動リストは、生成されたコードのリストに変換されません。このため、html リストを使用するのが理にかなっている場合があります。

于 2012-09-25T07:54:13.360 に答える
6

Eclipse がコメントをフォーマットする方法を変更し、ブロック コメントを特別に処理することができます。

ウィンドウ - >設定に行きました。Java > コード スタイル > フォーマッタ。「新規」をクリックして、新しいテンプレートを作成します。次に、[コメント] タブで、ブロック コメントの書式設定を無効にします。

ただし、これはブロック コメントの書式設定を実行しません。

于 2012-09-25T11:17:44.113 に答える
2

Java には、2 種類のコメントがあります。

  • ブロック コメント: 標準形式がないため、フローティング テキストのように書式設定されます。
  • 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 に答える
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 を使用しており、フォーマッターのコア コメントは幅 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 に答える