Visual Studio Code-すべての空白行を削除-正規表現


133

Visual Studio Codeですべての空白行を削除する方法を理解するためにしばらく時間を費やしましたが、機能させることができません。誰かがそれを行う方法を知っていますか?

私が検索する場合^$、空白行(完全に空白行、手段がない空白を)見つけるん検索フィールドVSCでそれを入力しながら、しかし、私はすべてを交換して打ったときには、それらを削除しません。それは何もしません: ^ $

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

それは私が何か間違ったことをしているに違いない。何なのかわからない。誰か知ってる?ありがとう。


1
あなたがこれについて開いた問題についてコメントを追加しましたが、他の誰にとっても、$実際には改行文字と一致せず、改行文字の前に存在するゼロ幅トークンと一致します。新しい行を置き換えるには使用する必要があります\nが、VS Codeは現在複数行の正規表現一致をサポートしていません(#313
Marie

マリーありがとう。しばらく待たなければならないようです。
jozefk 2016

4
これを正規表現モード^ $ \ nで見つけて空白で置き換えても問題なく機能します。ハッピーコーディング!!!
sajal rajabhoj

回答:


194

興味があるかもしれない人のために-私が使用した空白行を削除するためにバージョン1.3.1で機能した(そして1.33.1でも機能する)ctrl+ h(検索して置換)alt+ r(正規表現を使用)

検索ボックスで:

\n\n

交換ボックス内:

\n

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

編集:

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

\n+

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

\n+\s*\n

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


10
これらの線に沿って、私は使用します^[\r\n]{3,}
RJ Cuthbertson 2017年

それは今働いています。ありがとう:)間にVSCの多くのバージョンがありますが、それは問題ありません。\ n \ nを\ nに置き換えてください。
jozefk

以下の@Dzumretソリューションもご覧ください。私の解決策では、何もない行のみを削除します。彼の解決策は、空白文字(スペース、タブ)もある行を削除します
suchoss

この回答はすべてのケースを網羅しているわけではありません。空白行にスペースがある場合はどうでしょう
dhaker

1
すごい!複数の連続する空行を削除するために、\ n +を\ nに置き換えました。空白文字も含めるには、(^ \ s * \ n)+を何もないものに置き換えます
Ilario

113

次の正規表現パターンも機能します。

^\s*$\n

次にCTRL+Enter、すべての行を置き換えます。

上記のパターンの説明:

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

確かではありませんが、これだけが私にとってうまくいきました。他のすべての答えと比較してください。よく説明されています。ありがとうございました。
サイ

\nアンカーの外側を配置することが私にとってうまくいきました。その後、VSCodeは何も置換しないようにしました(空白の「置換」フィールド)。
エリック

46

Visual Studio Code 1.13.0 Linux Lite:

  • ヒットCTRL+H
  • 「正規表現を使用」を選択します
  • 検索ボックス:^(\ s)* $ \ n(必要に応じて末尾の\ nを多数入力)
  • 交換ボックス:空
  • すべて置換をクリックします

空の行がなくなった!


18

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

\n\s*\n

そして、私はすべての試合を \n

説明

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

PS:検索ウィンドウで正規表現オプションを選択することを忘れないでください!!


13

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

こちらをご覧ください


6

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

ここでも同じ動作が得られます。

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

多分デフォルトの正規表現の振る舞いを変更する設定があるかもしれません、あるいは多分VSはそのような方法で構築されています(行ベース)

もちろん、カットアンドペーストして別のテキストエディタから戻すのは大したことではありません。


3
これが私を助けてくれたのは、すべて^\s*$を空に置き換えてから試しました(\r?\n){2,}
Mihai Popescu

4

youtについてはわかりませんが、多くのコマンドを覚えておくと、時間の無駄になります。

拡張機能「Blank Line Organizer」を使用します。ここに説明があります:

この拡張機能は、複数の空白行を削除して、コード内の空白行を整理するのに役立ちます。拡張機能は、選択された行から空白行のみを削除します。そうでない場合は、ファイル全体から削除されます。

使い方:拡張機能の説明を確認してください。

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

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


@Junさん、こんにちは!私はSublime Text3を使用して多くの問題を解決しました。さらに、軽量で、いくつかの優れた機能があります。
MarceloAgimóvel18年

Sublime Text3で使用するプラグインは何ですか?私はWebstormを使用するために使用され、それが組み込まれています。
Jun711

HTML / CSS / JS Prettify
MarceloAgimóvel18年

3

Visual Studioで次の作業が最も効果的であることがわかりました。

置換: ^\n$ と: <no value here>

これにより、すべての空の行が検出され、それらが消去されます。


3

私の場合。kobi7ソリューション(\r?\n){2,}は私のためだけに機能しました、私はそれを単一行で機能させるために小さな変更を加えて再度実行する必要がありました(2から1に変更しただけ)

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

0

コードメイドエクステンションだけで十分です。ショートカットCtrl M +スペースバーを使用してファイルをクリーンアップできます。空の行が削除され、コードがフォーマットされます。フォーマットとクリーンアップルールについても構成できます。これがお役に立てば幸いです。


見つかりません(Manjaro Linux上)。
MarceloAgimóvel18年

2
これは、Visual Studioコード拡張ではなく、Visual Studio拡張であるためです。
Rene Juuse



-1

置換:^ \ n $置換: "空白スペース"


文書のすべての空白スペースを削除しますか?
Angry 84

-4

Windows 10、Visual Studio 2015

Ctrl + H

検索...-> ^ \ s *

すべてを交換

Ctrl + A

Ctrl + K + F

あなたの質問をありがとう、私は何か新しいことを学びました。


5
Visual Studio 2015はVisual Studio Codeではありません。
Robert Kaucher 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.