web-dev-qa-db-ja.com

Visual Studioでの複数行の検索と置換

できますか? VS2005とVS2008とVS2010を使用しています。

私は正規表現を意味するわけではありません-それは場所を持っています-しかし、平凡な古いテキストを見つけて置き換えます。\nタグを使用して正規表現で(ピンチで)できることはわかっていますが、正規表現のエスケープ文字に絡まるのを好まないだけでなく、読みやすさの問題もあります。

それができない場合、人々はどのような単純でシンプルな(無料の)代替手段を使用していますか?それは私たち自身のマクロをノックすることを含みません。

71
hawbsl

やっと見つけた..

外部マクロをダウンロードしてロードする必要はありません。

少なくとも組み込みマクロを備えたVisual Studio 2008で動作します。 :)

手順:
1)検索するテキストを選択します。
2)[Alt + F8]を押すか、[ツール->マクロ->マクロエクスプローラー]を開きます。
3)[サンプル->ユーティリティ-> FindLine]をダブルクリックします。 ([検索]フィールドに選択内容が読み込まれた状態で[検索]ボックスが開きます。[検索]フィールドに表示される切り捨てられたテキストについては心配しないでください。信頼してください。 ))
4)[検索と置換]ダイアログボックスの[クイック置換]ボタンをクリックします。テキストで置換を入力します。
5)そして、要件に従って3つのボタンのいずれかをクリックします... :)

万歳..その働き..それを行うための簡単な方法ではないかもしれませんが、MSを知っています。簡単で簡単なものはありません。

65
SV.

次のブログエントリをご覧ください。

Visual Studioでの複数行の検索と置換

検索をエスケープし、VSの検索と置換ダイアログを表示するマクロコードを提供します。

18
Robert Adams

これは、今日Visual Studio 2012で機能します。

_fooPatternToStart.*(.*\n)+?.*barPatternToEnd
_

_(.*\n)+?_部分が欲張りでない複数行にわたってどのように一致するかを確認してください。
fooPatternToStartは開始行の正規表現パターンであり、barPatternToEndは下の別の行、おそらく下の多くの行で見つけるパターンです...

例が見つかりました here

シンプルで効果的:)

注意:  VS2012、機能したパターンは次のとおりでした:fooPatternToStart.(.\n)+@.*barPatternToEnd

14
woohoo

[検索と置換]ダイアログの[正規表現を使用する]チェックボックスをクリックすると、複数行の式を検索できます。改行は\nで示されます。

enter image description here

12
Phillip Ngan

私はこれを使用します: Visual Studio Gallery Multiline Search and Replace

7
maurox

上記9:52でのアンドリューコーケリーのコメントについて

複数行の置換文字列も指定する場合は、マクロコードを編集し、次のように置換テキストを設定します。これにより、必要なわずかな変更だけで交換を「微調整」できます。

 Sub FindLine()
    Dim textSelection As TextSelection

    textSelection = DTE.ActiveDocument.Selection
    textSelection.CharLeft(True)
    DTE.ExecuteCommand("Edit.Find")
    DTE.Find.FindWhat = textSelection.Text

    'also preset replacement text with current selection
    DTE.Find.ReplaceWith = textSelection.Text
End Sub
1
zaengi

マイクロソフトのみが提供します。 https://visualstudiogallery.msdn.Microsoft.com/699CE302-B0D4-4083-BE0E-1682E873CEBF を確認してください。

正規表現のみを使用します。しかし、正規表現をよく知らない人は、正規表現を使用する方が良いでしょう。

1
Mahesh Malpani

また、MultiLine置換を完全にサポートする ltraEdit でファイルを開くこともできます。試用版を1回だけ使用する場合は、試用版を使用できます。

1
Fedor Steeman

Notepad ++の最新バージョン(この投稿の時点)は、複数行の検索/置換を行います。これが尋ねられたとき、これが真実かどうかはわかりません。しかし、Visual Studioでマクロがサポートされなくなったため、これは今では適切です。

0