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