Ярлык, чтобы свернуть определения, кроме регионов
В vs2008, как я могу (возможно, с макросом) назначить горячую клавишу для свертывания определений, но оставить области расширенными (они должны расширяться, если свернуты)?
РЕДАКТИРОВАТЬ: Я ненавижу регионы, но мои коллеги нет (: Итак, я хочу, чтобы избежать регионов, используемых ими.
Я прочитал пост Джеффа. Ctrl M + O - это то, что я действительно хочу сделать, если бы не было регионов.
2 ответа
Я верю, что наконец-то получил ответ, который искал, и думаю, что он может помочь и вам, @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 - Переименуйте 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 действительно полезно, чтобы свернуть все.
Вы читали в блоге Джеффа о регионах? Есть еще несколько полезных ярлыков, которые он перечисляет.
Почему вы хотите сохранить их расширенными, вам действительно нужен регион, если вы не хотите, чтобы он рухнул?