web-dev-qa-db-ja.com

Eclipseフォーマッターは空のコメント行にスペースを追加します

Eclipseコードフォーマッターは、空のJavadocコメント行ごとに末尾のスペースを追加します(スクリーンショットを参照)。

enter image description here

同僚のフォーマッターは常にそれらのスペースを削除しています(したがって、迷惑なSVN差分を生成しています)。彼は同じフォーマッター設定(XMLファイル)を使用すると主張しています。それでも、フォーマッター設定ページのコメントタブにあるすべてのオプションを試しましたが、成功しませんでした。

Eclipseのバージョン間の違いはありますか? (HeliosをベースにしたSpringsource Tool Suite 2.7.1を使用していると思います)

40
Elbonian

Preferences → Java → Editor → Content Assist → Save Actionsに移動すると、ほとんどの場合、次の構成が機能することがわかりました。

  • ☑保存時に選択したアクションを実行します
    • ☐ソースコードをフォーマットする
  • ☑追加のアクション
    • すべての行の末尾の空白を削除します

(つまり、Format source codeSave Actionsオプションをオフにしますが、Remove trailing white spaces on all linesAdditional actionsはオンのままにします。)

フォーマッターと保存アクションはそれを公にしていますが、保存アクションはほとんどの場合勝つようです。これの欠点は、定期的に手動でコードをフォーマットする必要があることです。

これはEclipseJunoを使用しています。

11
Steve Pomeroy

設定-> Java->エディタ->アクションの保存に移動し、編集された行のフォーマットを選択します。

変更を適用すると、Javadocの末尾の空白はすべて削除されます

注:「追加のアクション」->「すべての行の末尾の空白を削除する」も有効にする必要があります。

11
ZhekaKozlov

私もこの問題を抱えており、Eclipseで検索/置換を行うことで解決しました。

  1. 検索> ファイルに移動し、正規表現がチェックされていることを確認します。
  2. 文字列^([\s]+\*)([\s]+)$を[含む]テキストフィールドに入力します。
  3. 検索を* .Javaファイル名パターンに制限します
  4. (検索ではなく)置換ボタンを押します
  5. [置換]ボックスで正規表現がオンになっていることを確認し、文字列$ 1を置換として使用します。自由に交換してください。

これが行っているのは、*を含む空白文字で始まり、さらに空白スペースがあり、他のコンテンツがない行を検索することです。次に、行全体を正規表現の最初に一致した部分に置き換えます。これは、コメント行の最初の間隔と*だけです。

8
Pawn

考えられる回避策については、 https://bugs.Eclipse.org/bugs/show_bug.cgi?id=36052 を参照してください。

7
Ayushman