Вот быстрый и грязный способ сделать, он, используя простой текст заменяет:
- Format your C# file so that all of the indentations are lined up. You can do this in
Edit
> Advanced
> Format Document
- Open up text replace with
Ctrl+H
- Set the "Text to Find" field this
"^ {"
.
- Set the "Replace" field to this
" {System.Diagnostics.Debugger.Break();"
- Click the little "Use Regular Expressions" button in the window
- Click "Replace All" or hit
Alt+A
- If your file has any classes with nested enums, classes, or structs, you'll have some compiler errors. Remove the Debug calls from them until your code compiles. If your nested classes have their own methods, you'll have to run this process again with more tabs in the replace strings.
Как это работает: Это использует средство форматирования документа Visual Studio и предполагает, что все методы в файле начинаются с двух счетов и затем "{". Таким образом, любая линия, которая начинается с двух счетов и "{" будет заменена теми же самыми двумя счетами, то же самое "{", и требование к Отладчику.
Если ваш файл вложил enums и т.д., вы получите ошибки компилятора, потому что текст заменяет, не различает между методами и enums. Например, вы будете видеть это:
enum MyColors
{ System.Diagnostics.Debugger.Break(); //error here
Red,
Green,
Blue,
}
Если вы хотите способность отключить эти точки останова, лучшим способом, которым я могу думать, является простой bool. Где-нибудь в вашем коде, вставьте это:
#if DEBUG
private static bool _ignoreDebug = false;
#endif
(Я поместил #if ОТЛАДКУ
там как флаг, что этот код только для отладки. Это не необходимо), Тогда в шаге № 4 выше, используйте эту строку замены вместо этого:
" {if(!_ignoreDebug){System.Diagnostics.Debugger.Break();}"
Тогда, когда вы поражаете точку останова и не хотите совершать нападки больше в часах, окно печатает это и совершает нападки, входят _ignoreDebug = верный
. Чтобы снова включить его, необходимо будет вставить ручную точку останова где-нибудь, у которой есть доступ к _ignoreDebug
bool.
Чтобы удалить все это из вашего кода, или делают другой текст заменяет, или просто редактирует, отменяют все.