Ярлык, чтобы свернуть определения, кроме регионов - PullRequest
9 голосов
/ 22 октября 2008

В vs2008, как я могу (возможно, с макросом) назначить горячую клавишу для свертывания определений, но оставить области расширенными (они должны расширяться, если свернуты)?

РЕДАКТИРОВАТЬ: Я ненавижу регионы, но мои коллеги нет (: Поэтому я хочу, чтобы избежать регионов, используемых ими.

Я прочитал пост Джеффа. Ctrl M + O - это то, что я действительно хочу сделать, если бы не было регионов.

Ответы [ 2 ]

6 голосов
/ 26 ноября 2009

Я думаю, что у меня наконец есть ответ, который я искал, и я думаю, что он также может помочь вам, @Serhat. Вы сказали:

Я прочитал пост Джеффа. Ctrl M + O - это то, что я действительно хочу сделать, если бы не было регионов.

Это было точно , что я думал про себя. Я продолжил эту мысль и работал над тем, чтобы (временно) избавиться от # регионов.

Это не полное решение, но я так рад, что что-то , что я на грани прыжков вверх и вниз. Я постараюсь максимально упростить эти указания, хотя, полагаю, проще будет просто опубликовать фактическое содержимое созданных мной макросов. (см. ссылку внизу)

Я создал два макроса:

  1. Закомментируйте все директивы #region и #endregion.
  2. Раскомментируйте все // # регион и // # 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,, хотя это не требуется, если вы вручную выполните действия, описанные выше.

3 голосов
/ 22 октября 2008

Я считаю Ctrl + M , Ctrl + O действительно полезно свернуть все.

Читали ли вы сообщение Джеффа о регионах ? Есть еще несколько полезных ярлыков, которые он перечисляет.

Почему вы хотите сохранить эти расширения, вам действительно нужен регион, если вы не хотите, чтобы он рухнул?

...