web-dev-qa-db-ja.com

Visual Studioのコード - 空白行をすべて削除する - regex

私はVisual Studioのコードですべての空白行を削除する方法を見つけようとしばらく時間をかけましたが、うまく動作しません。誰かがどうやってそれをやりたいのか知っていますか?

検索フィールドに入力中に^$を検索した場合、VSCは空白行(完全に空白行、空白がないことを意味します)を見つけますが、Replace Allを押しても削除されません。何もしません。 ^$

スペースのある空白行の場合^\s+$検索は機能しますが、それらは削除されません。それがしていることは、スペースなしの空白行でそれらを置き換えることです:)) ^\s+$

それは私が悪いことをしているに違いない。私はそれが何であるかを理解することはできません。誰もが知っている?ありがとう。

100
jozefk

興味があるかもしれない人たちのために - 私が使った空白行を削除するためにバージョン1.3.1で私のために働いていた(そしてまだ1.33.1でも働いている) ctrl+h (見つけて交換してください) alt+r (正規表現を使う)

次に検索ボックスに:

\n\n

交換用ボックス:

\n

これにより、2つの連続した行末記号が1つになります。

編集済み:

もっと多くの空の行(2つ以上)を一度に置き換える必要がある場合は、検索ボックスに次の正規表現を使用できます。

\n+

空行も空白で置き換える必要がある場合は、検索ボックスで次の正規表現を使用する必要があります。

\n+\s*\n

VSコードはJavaScriptの正規表現を使用しています

140
suchoss

この正規表現パターンもうまくいきます:

^\s*$\n

それから CTRL+Enter すべての行を置き換える.

上記のパターンの説明

-----------------------------------------------
|  ^ | beginning of string anchor             |
-----------------------------------------------
| \s | any whitespace character               |
-----------------------------------------------
| '*'| zero or more repetitions               |
-----------------------------------------------
|  $ | end of string anchor                   |
-----------------------------------------------
| \n | new line                               |
-----------------------------------------------
90
Dzumret

Visual Studioコード1.13.0 Linux Lite:

  • ヒット CTRL+H
  • [正規表現を使う]を選択します
  • 検索ボックス:^(\ s)* $\n(必要に応じて末尾に\ nを入力してください)
  • 交換ボックス:空
  • すべて置換をクリック

空の行が消えた!

38
Antonio Delgado

これが私の正規表現です。スペース、タブなどを含む余分な新しい行と空の行をすべてキャッチします。

\n\s*\n

そして私はすべてのマッチを\nで置き換えます

説明

\n       : New Line
\s*      : Zero or more consecutive white space characters or new lines
\n       : Another New Line

P.S:検索ウィンドウでregexオプションを選ぶのを忘れないでください!!

16
Shabin Muhammed

VS Codeの置換ダイアログで^\s *\nを使用してみてください -

see here

8
NEO

いいえ、あなたはそれを正しくやっています。

ここでも同じように動作します。

私はまた別の正規表現を試してみました:(\r?\n){2,}しかし、それは単一行に対してのみ機能するようです。

たぶんデフォルトの正規表現の振る舞いを変えることを好みがある、あるいはたぶんVSがそのような方法で構築されているだけかもしれません(行ベース)

もちろん、他のテキストエディタから切り取って元に戻すことは大したことではありません。

5
kobi7

私はyoutについて知りませんが、私のためにたくさんのコマンドを覚えていることは時間の無駄を縫います!

拡張子 "Blank Line Organizer"を使ってください。

この拡張子は、複数の空白行を削除することによってコード内の空白行を整理するのに役立ちます。拡張子は、選択されている行がある場合にのみ、それ以外の場合はファイル全体から空白行を削除します。

それを使用する方法:拡張子の説明を確認しますが、それは本当にニース縫い目!

blankLine.triggerOnSave boolean true    If set to true, the command will be triggered on save.

つまり、ファイルを保存した後、自動的にクリーンアップされます。

3

私は次のものがVisual Studioで私に最適であることを見つけました:

^\n$を:<no value here>に置き換えてください。

これですべての空行が見つかり、それらが取り除かれます。

3
Alan

私の場合kobi7のソリューション(\r?\n){2,}は私のためだけに動作しました、私はそれを単一行で動作するようにするために少し修正を加えて再度実行しなければなりませんでした(2から1に変更)。

^(\r?\n){1,}
2
Mamdouh

コードメイド 拡張子だけがあなたが必要とするものです。あなたはあなたのファイルをクリーンアップするためにショートカットCtrl + M +スペースバーを使うことができます、それは空の行を削除してあなたのコードをフォーマットします。あなたはまた約フォーマットとクリーンアップルールを設定することができます。これが役に立つことを願っています。

0
Nguyễn Top

1つ以上の改行(\ n)+で置き換え、\ nに置き換えます