Ярлык, чтобы свернуть определения, кроме регионов

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

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

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

2 ответа

Решение

Я верю, что наконец-то получил ответ, который искал, и думаю, что он может помочь и вам, @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
  • Переименуйте TemporaryMacro в 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 кнопка (по умолчанию эти две комбинации клавиш ни к чему не привязаны)
  • Нажмите OK, чтобы сохранить ваши ярлыки.

Теперь, когда вы столкнулись с автоматически свернутыми областями, нажмите Alt+/ закомментировать директивы #region и поразить стандарт Ctrl+M+O для Свернуть до Определения (если вы того пожелаете). Затем, перед тем как зафиксировать этот блок с закомментированными областями, просто нажмите Alt+Shift+/ раскомментировать # регионов, и они будут активированы.

И, наконец, @Serhat, еще раз спасибо за ваш оригинальный комментарий, который поставил меня на этот трек в первую очередь.

На практике есть один маленький сбой, с которым я вполне готов жить. //#region с последующим #//endregion считается непрерывным комментарием, а комментарии все еще свернуты, но, по крайней мере, там нет скрытого кода.

Вот обещанный текст макроса, который я извлек из Macro Explorer: http://pastebin.ca/1688618, хотя в этом нет необходимости, если вы вручную выполните действия, описанные выше.

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

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

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

Другие вопросы по тегам