web-dev-qa-db-ja.com

Eclipseで末尾の空白を自動削除する方法

質問には2つの部分があり、そのうちの1つはすでに答えを持っています。

  1. 編集中のファイル全体から末尾の空白を自動削除する方法 - >答え: AnyEditプラグイン を使用してください。これはファイルへの保存時にそれを行うように設定できます。
  2. 変更した行からのみ末尾の空白文字を自動削除する方法 - >これはわかりませんし、助けをいただければ幸いです。
407
Jan Żankowski
  1. 編集中のファイル全体から空白を削除する

Preferences - > Java - > Editors - > Save Actions →チェック Perform the selected actions on save →チェック Additional actions - >クリック Configure.. - >に行く Code organizing タブ - >チェック Remove trailing whitespace - >選択 All lines

  1. 変更した行からのみ空白文字を削除します

Preferences - > Java - > Editor - > Save Actions →チェック」Perform the selected actions on save →チェック Format source code - >選択 Format edited lines

クリックする必要はありません。 Configure the formatter settings on the Formatter page - すべてのコードスタイルは自動的に末尾の空白を削除します。少なくともこの設定はFormatterの設定で見つけることができませんでした。組み込みのJava規約、Eclipse、Eclipse 2.1スタイル、および GoogleStyle にはそのまま使用できました。

この設定を使用するときは、質問のパート1の解決策もオフにする必要があります

Eclipse version checked: 4.5.2
125
Dan Berindei

あなたの質問はJavaコードに関するものだと思います。その場合は、1)を達成するために追加のプラグインは実際には必要ありません。 Preferences - > Java - > Editor - > Save Actionsに移動して末尾の空白を削除に設定するだけです。

それの音であなたもこれをチーム全体の設定にしたいですね?作業を楽にし、新しいワークスペースがあるたびに設定を覚えなくても済むように、コードとともにSCMに保存されるプロジェクト固有の設定として保存アクションを設定できます。

それをするためにあなたのプロジェクトを右クリックしてProperties - > Java Editor - > Save Actionsに行きます。そこから、プロジェクト固有の設定を有効にして、末尾の空白を削除するように設定できます(他の便利な機能の中でも)。

NB:このオプションはEclipse Kepler(4.3)以降のリリースで削除されました。

NB#2:このオプションはEclipse Lunaに戻ってきたようです - Luna Service Release 1a (4.4.1)

347
gcastro

そうするのにプラグインは必要ありません。たとえば、Javaをコーディングした場合は、保存アクションを構成する末尾の空白を消去できます。

Eclipse 3.6

Preferences - > Java - > Editors - > Save Actions - >チェック Perform the selected actions on save - >チェック Additional actions - >をクリック Configure.. ボタン。

の中に Code organizing タブ、チェック Remove trailing whitespace

72
Dave

PyDevどちらでも可能です Ctrl+Shift+F コードフォーマッタオプションを設定している場合、または during saving

Eclipse - > Window - > Preferences - > PyDev - > Editor - > Code Style - > Code Formatter

私は少なくともこれらを使用します。

  • 保存前の自動フォーマット
  • 右トリムライン?
  • ファイルの末尾に新しい行を追加します
46
Ciantic

次のようにしてください。

Preferences - > Java - > Editor - > Save Actions

enter image description here

34
Sumit Singh

Eclipseでキーをマッピングして、ファイル全体の末尾の空白を手動で削除することができますが、保存時に自動的に要求されるのではなく要求に応じてのみです。すべての新しいファイルをサニタイズしたいが、従来のコードには手を加えないでおく場合は、これが便利です。

もう1つの戦略は空白の視覚的表示を有効にすることです。したがって、少なくとも末尾の空白を追加するとわかります。私の知る限りでは、末尾の空白だけを表示する方法はありませんが、間違っていることが証明されてうれしいです。

19
Kena

一言で言うと、末尾の空白の削除をまったくサポートしていないエディタ(XMLエディタなど)では、検索と置換を行い、正規表現を有効にしてから[[\ t]を検索することで、すべての行から削除できます。 + $ "と" "(空白)に置き換えます。おそらくもっと良い正規表現があるでしょうが、AnyEditをインストールしなくても私にとってはうまくいきます。

10
Malvineous

今のところ一般的な方法でEclipseでそれを行うことは不可能ですが、基本的なJavaの知識といくつかの方法で変更することができますこのための基本的なサポートを追加するための空き時間 https://bugs.Eclipse.org/bugs/show_bug.cgi?id=180349

依存問題: https://bugs.Eclipse.org/bugs/show_bug.cgi?id=31117

8

私はAnyEditも言うでしょう。これはこの特定の機能を提供しません。ただし、あなたとあなたのチームがそれぞれの保存アクションでAnyEdit機能を使用する場合、ファイルを開いたときに末尾の空白があってはいけません。

そのため、このファイルを変更して新しい末尾のスペースを追加した場合、保存操作中にAnyEditはこれらの新しいスペースのみを削除します。これは、このファイルでは末尾のスペースが1つだけだからです。

何らかの理由であなたがではないを修正した行の末尾のスペースを保持する必要がある場合、私はあなたに答えがないし、この種の機能がどの言語にも存在するかどうかわからない。 Eclipseプラグイン...

8
Romain Linsolas

Phpにはオプションもあります。enter image description here

5
HeyMan

Unixのコマンドラインツールであるsedを使用すると、これを簡単に実行できます。これを実行するには、おそらくEclipseでマクロを作成することができます。

sed -i 's/[[:space:]]*$//' <filename>
4
jcoffland

@Malvineousが言ったように、末尾のスペースを削除するためにFind/Replaceメソッドを使用するのは、専門的な作業ではありません(タブU + 0009とホワイトスペースU + 0020を含む)。
Ctrl + F(またはcommand + F)を押すだけです

  1. 検索[\t ][\t ]*$
  2. の空白文字列に置き換えます。
  3. 正規表現を使う
  4. すべて置換

追加料金:
先頭のスペースを削除するには、^[\t ][\t ]*の代わりに[\t ][\t ]*$を見つけます。
空白行を削除するには、^\s*$\r?\nを検索してください。

3
fuweichin

私はあなたの質問の第二部のための解決策を知りません。その理由は、私が変更したの定義方法が明確ではないためです。いつ変更されましたか?ちょうど2セーブ間またはコミット間...基本的には - それを忘れて。

私はあなたが何らかのガイドラインに固執したいのですが、コードの残りに触れないでください。しかし、ガイドラインは全体的に使用されるべきであり、噛み付きや部分には使用されるべきではありません。だから私の提案は - ガイドラインにすべてのコードを変更する:それは1回限りの操作ですが、すべての開発者が同じプラグイン(AnyEdit)を同じプロジェクトに設定していることを確認してください。

1
van

私はgitにこのコマンドを使いました:git config --global core.whitespace cr-at-eol

末尾の^M文字を削除します。

1
user7577563