web-dev-qa-db-ja.com

Visual Studio Codeでの複数行の正規表現検索

VS Codeバージョン1.27.2では、複数行の正規表現検索は機能しません。

理論的にはaaa(\n|.)*bbbはaaaから始まりbbbで終わる文字列を見つけるはずですが、動作しません。ここで言及されている解決策 Visual Studio Codeの複数行の正規表現 も機能しません。

12
mariszo

複数行検索は、2018年11月にリリースされたv1.29で追加されました。 複数行検索 を参照してください。

VS Codeは複数行検索をサポートするようになりました!エディターと同じように、正規表現検索は、\ nリテラルが含まれている場合にのみ複数行モードで実行されます。検索ビューには、複数行の各一致の横にヒントが表示され、追加の一致行の数が示されます。

この機能は、ripgrepツールで行われた複数行検索の実装のおかげで可能になりました。

multiline search: October 2018 release notes


複数行検索は、v1.38で検索ウィジェットに追加されます。 multiline find "pre-release" notes を参照してください。

検索ウィジェットでの複数行検索

検索ウィジェットは、複数行のテキスト検索と置換をサポートするようになりました。 Ctrl+Enter、入力ボックスに新しい行を挿入できます。

multiline find widget

奇数 Ctrl+Enter 検索ウィジェットで Shift+Enter 検索パネル(下記のDeepuの回答を参照)。 Shift+Enter 検索ウィジェットにフォーカスがある場合、他の機能があります。

14
Mark

正規表現を使用せずに

Vsexバージョン1.30以降では、正規表現を使用せずに複数行の検索が可能になりました。

タイプ Shift+Enter 検索ボックスに改行を挿入すると、検索ボックスが大きくなり、完全な複数行のクエリが表示されます。エディターから複数行の選択をコピーして、検索ボックスに貼り付けることもできます。

Example

2
Deepu Reghunath

この動作の理由は非常に簡単です。

複数行の検索はまだ実装されていません。

参照: グローバル検索の複数行検索のサポート

0
mariszo

正規表現なし:複数行のテキストをコピーして、「ファイルを検索」フォームに貼り付けることができます。

enter image description here

「すべて置換」の結果:

enter image description here

0
Ruslan K.