できますか? VS2005とVS2008とVS2010を使用しています。
私は正規表現を意味するわけではありません-それは場所を持っています-しかし、平凡な古いテキストを見つけて置き換えます。\nタグを使用して正規表現で(ピンチで)できることはわかっていますが、正規表現のエスケープ文字に絡まるのを好まないだけでなく、読みやすさの問題もあります。
それができない場合、人々はどのような単純でシンプルな(無料の)代替手段を使用していますか?それは私たち自身のマクロをノックすることを含みません。
やっと見つけた..
外部マクロをダウンロードしてロードする必要はありません。
少なくとも組み込みマクロを備えたVisual Studio 2008で動作します。 :)
手順:
1)検索するテキストを選択します。
2)[Alt + F8]を押すか、[ツール->マクロ->マクロエクスプローラー]を開きます。
3)[サンプル->ユーティリティ-> FindLine]をダブルクリックします。 ([検索]フィールドに選択内容が読み込まれた状態で[検索]ボックスが開きます。[検索]フィールドに表示される切り捨てられたテキストについては心配しないでください。信頼してください。 ))
4)[検索と置換]ダイアログボックスの[クイック置換]ボタンをクリックします。テキストで置換を入力します。
5)そして、要件に従って3つのボタンのいずれかをクリックします... :)
万歳..その働き..それを行うための簡単な方法ではないかもしれませんが、MSを知っています。簡単で簡単なものはありません。
これは、今日Visual Studio 2012で機能します。
_fooPatternToStart.*(.*\n)+?.*barPatternToEnd
_
_(.*\n)+?
_部分が欲張りでない複数行にわたってどのように一致するかを確認してください。fooPatternToStart
は開始行の正規表現パターンであり、barPatternToEnd
は下の別の行、おそらく下の多くの行で見つけるパターンです...
例が見つかりました here 。
シンプルで効果的:)
注意: 前 VS2012、機能したパターンは次のとおりでした:fooPatternToStart.(.\n)+@.*barPatternToEnd
[検索と置換]ダイアログの[正規表現を使用する]チェックボックスをクリックすると、複数行の式を検索できます。改行は\n
で示されます。
上記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
マイクロソフトのみが提供します。 https://visualstudiogallery.msdn.Microsoft.com/699CE302-B0D4-4083-BE0E-1682E873CEBF を確認してください。
正規表現のみを使用します。しかし、正規表現をよく知らない人は、正規表現を使用する方が良いでしょう。
また、MultiLine置換を完全にサポートする ltraEdit でファイルを開くこともできます。試用版を1回だけ使用する場合は、試用版を使用できます。
Notepad ++の最新バージョン(この投稿の時点)は、複数行の検索/置換を行います。これが尋ねられたとき、これが真実かどうかはわかりません。しかし、Visual Studioでマクロがサポートされなくなったため、これは今では適切です。