単純なテキスト置換を使用してそれを行う簡単で汚い方法を次に示します。
- すべてのインデントが整列するように C# ファイルをフォーマットします。
Edit
> Advanced
>でこれを行うことができますFormat Document
- テキストを開く
Ctrl+H
- 「検索するテキスト」フィールドをこれに設定します
"^ {"
。
- 「置換」フィールドをこれに設定します
" {System.Diagnostics.Debugger.Break();"
- ウィンドウの小さな「正規表現を使用」ボタンをクリックします
- 「すべて置換」をクリックするか、
Alt+A
- ファイルに列挙型、クラス、または構造体がネストされたクラスがある場合、コンパイル エラーが発生します。コードがコンパイルされるまで、それらからデバッグ呼び出しを削除します。ネストされたクラスに独自のメソッドがある場合は、置換文字列にさらにタブを追加して、このプロセスを再度実行する必要があります。
仕組み: これは Visual Studio ドキュメント フォーマッタを使用し、ファイル内のすべてのメソッドが 2 つのタブと "{" で始まることを前提としています。したがって、2 つのタブと "{" で始まる行は、同じ 2 つのタブ、同じ "{"、およびデバッガーの呼び出しに置き換えられます。
ファイルにネストされた列挙型などがある場合、テキストの置換ではメソッドと列挙型が区別されないため、コンパイラ エラーが発生します。たとえば、次のように表示されます。
enum MyColors
{ System.Diagnostics.Debugger.Break(); //error here
Red,
Green,
Blue,
}
これらのブレークポイントを無効にする機能が必要な場合、私が考えることができる最善の方法は単純な bool です。コードのどこかに、これを挿入します。
#if DEBUG
private static bool _ignoreDebug = false;
#endif
(私は、#if DEBUG
このコードがデバッグ専用であることを示すフラグとしてそこに入れました。それは必要ありません) 次に、上記のステップ 4 で、代わりにこの置換文字列を使用します。
" {if(!_ignoreDebug){System.Diagnostics.Debugger.Break();}"
次に、ブレークポイントにヒットし、それ以上ヒットしたくない場合は、ウォッチ ウィンドウに this と入力して enter を押します_ignoreDebug = true
。オンに戻すには、_ignoreDebug
ブールにアクセスできる場所に手動ブレークポイントを挿入する必要があります。
コードからこれらすべてを削除するには、別のテキスト置換を行うか、編集をすべて元に戻します。