Я думаю, что у меня наконец есть ответ, который я искал, и я думаю, что он также может помочь вам, @Serhat. Вы сказали:
Я прочитал пост Джеффа. Ctrl M + O - это то, что я действительно хочу сделать, если бы не было регионов.
Это было точно , что я думал про себя. Я продолжил эту мысль и работал над тем, чтобы (временно) избавиться от # регионов.
Это не полное решение, но я так рад, что что-то , что я на грани прыжков вверх и вниз. Я постараюсь максимально упростить эти указания, хотя, полагаю, проще будет просто опубликовать фактическое содержимое созданных мной макросов. (см. ссылку внизу)
Я создал два макроса:
- Закомментируйте все директивы #region и #endregion.
- Раскомментируйте все // # регион и // # endregion вхождения.
Создать первый макрос:
- Начните запись макроса с помощью
Ctrl+Shift+R
и выполните следующие действия:
Ctrl+H
, Найти что: #region
, Заменить на: //#region
Alt+A
для замены всех
Ctrl+H
, Найти что: #endregion
, Заменить на: //#endregion
Alt+A
для замены всех
- Завершить запись макроса с помощью
Ctrl+Shift+R
- Откройте Macro Explorer с помощью
Alt+F8
или Инструменты | Макросы> Macro Explorer
- Переименование временного макроса в CommentRegionDirectives
Затем создайте второй макрос:
- Начните запись макроса с помощью
Ctrl+Shift+R
и выполните следующие действия:
Ctrl+H
, Найти что: //#region
, Заменить на: #region
Alt+A
для замены всех
Ctrl+H
, Найти что: //#endregion
, Заменить на: #endregion
Alt+A
для замены всех
- Завершить запись макроса с помощью
Ctrl+Shift+R
- Откройте Macro Explorer с помощью
Alt+F8
или Инструменты | Макросы> Macro Explorer
- Переименовать (этот новый) TemporaryMacro в UncommentRegionDirectives
Теперь сохраните ваши макросы в Macro Explorer с помощью Ctrl + S.
Наконец, назначьте сочетания клавиш двум макросам:
- Открыть Инструменты | Варианты | Окружающая среда + клавиатура
- В поле «Показать команды, содержащие:» введите
Directives
. Это должно показать вам два ваших макроса с именами «Macros.MyMacros.RecordingModule.CommentRegionDirectives» и «... UncommentRegionDirectives»
- Выделите запись CommentRegionDirectives и в поле «Нажмите сочетание клавиш:» введите
Alt+/
, затем нажмите кнопку Assign
- Выделите запись UncommentRegionDirectives и в поле «Нажмите клавиши быстрого доступа:» введите
Alt+Shift+/
, затем нажмите кнопку Assign
(по умолчанию эти две комбинации клавиш не назначены ни для чего)
- Нажмите кнопку ОК, чтобы сохранить назначенные ярлыки.
Теперь, когда вы столкнулись с автоматически свернутыми #regions, нажмите Alt+/
, чтобы закомментировать директивы #region, и нажмите стандартный Ctrl+M+O
для Свернуть в Определения (если вы так решите). Затем, прежде чем фиксировать этот блок с закомментированными областями #, просто нажмите Alt+Shift+/
, чтобы раскомментировать # области, и они будут реактивированы.
И, наконец, @Serhat, еще раз спасибо за ваш оригинальный комментарий, который поставил меня на этот трек.
На практике есть один маленький сбой, с которым я вполне готов жить. //#region
, за которым следует #//endregion
, считается непрерывным комментарием, а комментарии по-прежнему свернуты, но, по крайней мере, там нет скрытого кода.
Вот обещанный текст макроса, который я извлек из Macro Explorer: http://pastebin.ca/1688618,, хотя это не требуется, если вы вручную выполните действия, описанные выше.