Visual Studio hotkeys

    image
    Привет, хаброразработчик!
    Нет, это не очередной конкурс спали клавиатуру А и получи клавиатуру Г. Сегодня мы поговорим о горячих клавишах в Visual Studio 2008.



    Многие из нас пользуются всевозможными плагинами, расширениями для Visual Studio. Стоит заметить что многие из них довольно удобны. А вкупе с code snippets значительно ускоряют работу. Про плагины можно почитать здесь и здесь, про code snippets здесь. Тем кто ещё не знаком с такими «плюшками» настоятельно порекомендую попробовать и использовать.

    Что касается меня, я пользовался Visual Assist, позже попытался использовать R#. Но если от первого я отказался когда перестал программировать на С++, то второй «убивал» напрочь мой компьютер, если я пытался открыть больше 2х студий. Не смотря на то, что сейчас и компьютер помощнее и R# несомненно улучшили, я не использую его. Связано это с тем, что я нашёл тогда возможность «вздохнуть» более свободно, используя «горячие клавиши».

    Здесь я опишу тех хоткеи, которые использую и считаю удобными и необходимыми для запоминания.

    Схемы разработки



    Прежде всего, хочу обратить ваше внимание что в Visual Studio есть несколько схем для разработчиков, переключить которые вы можете через меню, как показано ниже:
    image

    Так же в этом меню, вы можете добавить или удалить хоткеи «заточив» ещё больше под себя. Настройка довольно проста.

    Описанные примеры я буду рассматривать для схемы Visual C# 2005.

    Комментирование.


    Есть несколько комбинаций клавиш, для создания комментирования:
    Ctrl+E,C — закоментировать выбранные линии в коде.
    Ctrl+E,U — раскомментировать выбранные линии в коде.

    Если перед имененм метода набрать /// — автоматически будут добавлены XML комментарии, которые потом можно использовать для создания документации.

    Поиск


    Кто-то пользуется поиском для рефакторинга, кто-то для ознакомления со своим же кодом, жизнь можно улучшить довольно легко:
    Ctrl+F — открывается стандартное окно поиска, если в буфер недавно было скопирован текст, то он автоматически подставиться.
    Ctrl+F3 — поиск «активного» текста вниз (который выделен или слово на котором стоит курсор), без копирования в буфер обмена.
    Ctrl+Shift+F3 — поиск «активного» текста вверх.
    Ctrl+I — и начинаете печатать текст, этакий runtime поиск.

    Вызов базового джина


    Вам лень писать текст полностью?! Скорость выпадающего Intellisence не устраивает несущуюся впереди вас вашу мысль?!
    Тогда самое время применить следующии комбинации:
    Ctrl+Space — вызов Intellisence с показом «слов»
    Ctrl+J — если вы подзабыли название метода класса или его свойсто, то эта комбинация вам поможет. Можно применять и предыдущую, но эта более «умная».
    Ctrl+K, X — показ всех сниппетов, которые у вас есть, в виде выпадающего списка, использование интуитивно понятно :)
    короткое_имя_снипета+Tab — использовать сниппет в коде. Список базовых сниппетов можно посмотреть здесь. Себе я сделал немного урезанный вариант и повесил рядом с монитором.

    Навигация по коду


    Тут стоит сказать отдельно и довольно много, навигация очень удобная, особенно когда привыкаешь :)
    F12 — перейти к определению/объявлению класса/метода/свойства. Очень применимо если вам вдруг стало интересно, а реализуется ли этой переменной, этого класса тип интерфейс IDisposable; или вы ищите в коде, «а где же объявляется эта переменная».
    Ctrl+G — перейти на определённый номер строки в коде. (Отображение номеров строк можно включить: Text Editor -> Интересующий вас язык -> Display -> Line numbers — выставить галку). Иногда довольно удобно, особенно если получаете описание необработанного исключения, а там указан, как правило, номер строки.
    Ctrl+] — когда курсор установлен на скобку, многострочный комментарий (/* */), регион (#region), строку, обрамлённую кавычками, эта комбинация позволит вам увидеть начало и окончание этих «блоков», перемещая курсор между ними.
    Ctrl+M, M — я человек довольно ленивый и мне сложно заставить долго тыкать мышкой по ±, сворачиваю и разворачия «блоки», поэтому рекомендую данную комбинацию
    Ctr+M, O — комбинация аналогичная предыдущей, только сворачивает все блоки
    Ctrl+- — переход к предыдущему активному тексту (тому который вы редактировали)
    Ctrl+Shift+- — переход к следующему активному тексту, если он конечно есть ;)

    Если обратите внимание то студия, по своей природе MDI, значит должна быть возможность перемещаться, между окнами:
    Ctrl+Tab — аналог Alt+Tab в Windows, только применимо к студии.

    Очень удобным инструментом в студии являются закладки, да-да, по аналогии с книжными. Можно отметить код чтобы потом перейти к нему:
    Ctrl+B, T — поставить/снять закладку.
    Ctrl+B, Ctrl+C — удалить все закладки.
    Ctrl+B, N — перейти к следующей закладке.
    Ctrl+B, P — перейти к предыдущей закладке.

    Форматирование и редактирование


    Многие знают и используют Ctrl+C и Ctrl+V, но студия обладает ещё рядом удобным комбинаций:
    Ctrl+Shift+V — не отпуская Ctrl+Shift и нажимая на V, вы сможете вставить один из 10 последних кусков текста, скопированных в буфер обмена.
    Tab — увеличить отступ.
    Shift+Tab — уменьшить отступ.

    Мне иногда не хватало вертикального выделения текста, бывает полезно. Оказывается и такая возможность есть! Стоит нажать Alt, и не отпуская, выделять мышкой текст. Но есть минус — меню и стрелочки клавиатуры :). Это решаемо, нажимаете Shift+Alt и используете стрелочки Left или Right

    Если код доставшийся вам «грязен», не только по структуре, но и по внешнему оформлению, используйте:
    Ctrl+E+D — форматирование всего документа, позволяет привести документ в более удобоваримый вид.
    Ctrl+E+F — форматирование выбранной части текста

    Иногда в целях рефакторинга или ещё каких-то благих начинаниях, есть смысл перевести все буквы в верхний или нижний регистр:
    Ctrl+Shift+U — перевести выделенный блок в верхний регистр
    Ctrl+U — перевести выделенный блок в нижний регистр

    Небольшой экскурс в сборку и отладку



    Конечно же со стороны хоткеев :)
    Начнём со «сборки»:
    Ctrl+Shift+B или F6 — собрать solution.
    Shift+F6 — собрать активный проект.
    Если честно, тут я немного пошаманил, заточив под себя, иногда бывает удобно пересобрать проект RebuildSolution, но почему-то хоткей для этого не предусмотрен, я поступил следующий образом:
    F6 — собрать solution
    Ctrl+Shift+B — пересобрать solution
    Поступил я так из-за соображения, что иногда студия не выполняет пересборку проекта, а пишет «up-to-date», а мне нужно именно пересобрать.

    Если появились ошибки, это плохо, но никто от них не застрахован:
    F5 — запустить программу, с возможностью отладки. Или продолжить выполнение программы, после точки останова.
    Ctrl+F5 — запустить программу без отладки
    F9 — поставить/убрать точку останова — breakpoint
    Ctrl+Shift+F9 — удалить все точки останова.
    F10 — выполнить код, без захода внутрь
    F11 — выполнить код, с заходом внутрь

    В режиме отладки есть два типа просмотра — Watch и QuickWatch. Разница между ними выходит за рамки данного топика :).
    Однако, вызвать QuickWatch вы можете нажав Ctrl+D, Q. Просто Watch — Ctrl+D, W.

    PS: если кому-то оказалось «мало», то можно получить информацию в блоге Сары Форд, те кто не очень дружит с английским, есть возможность почитать переводы, которые появляются очень регулярно.
    Поделиться публикацией
    Комментарии 14
      0
      Все равно тут пока никого нет, задам вопрос немного не в тему, но как знатоку интерфейса ВС 2008. :)

      Куда у меня могла пропасть кнопка Events в свойствах xaml элементов в xaml-дизайнере? В экспресс версии эта кнопка есть, а в про-версии нет. Приходится руками набирать xml. :(
        0
        поставьте SP на студию. Либо используйте Blend =)
          0
          Не, это вряд ли. Студия рабочая, админы фашисты, там даже ассоциации файлов переделать — геморрой. Да оно и не особо нужно, просто интересно стало, почему там есть, а там нет. :)
            0
            а как же свобода?))) сочувствую) сменить заставку хоть можно? а так тоже заметил что нет кнопки события… обидно, писал с месяц ручками потом все выучил.
              0
              Свобода — дома. На работе все очень строго. Заставку, кстати, сменить нельзя — только лого с автоматическим запиранием компа. Обои, правда, можно. :)

              Оно и правильно, наверное. Чтобы работали, а не баловались. Хотя, помогает слабо. :)
              0
              На мой взгляд — глупый подход; я, например, открываю очень много файлов через Notepad++, потому что он быстро работает и бесплатен, а мне файл просто просмотреть надо и люблю я чтобы это делалось по клику. Для максимальной эффективности работы сотрудника, ему нужно создавать условия для работы, а ещё лучше чтобы он среду настраивал под себя, там кактусы постеры разные. Конечно и сотрудник борзеть не должен.
              Хотя, я когда на своё нынешнее местро работы устроился работать, тоже и проксёй резали много чего и качать целую кучу файлов нельзя было. Приходил и говорил — «НАДО», и открывали доступ, а куда деваться :). Только часть файлообменников прикрыли, ну да сам виноват, нефиг было по 2Г музла в рабочее время тянуть :).
                0
                Контора большая и серьезная, соответственно и строго все до предела. Если очень нужно, то админы дадут настроить под себя. Просто муторно это каждый раз делать — писать, объяснять… Легче перебиться. :)
            0
            Это что-то у вас в настройках «сурово», так с бухты-барахты я не скажу, вечерком гляну. Могу порекомендовать сохранить настройки студии экспресс и импортировать их в про версию. Делается это парой кликов мышки. Я так, кстати, все настройки с домашнего на рабочий комп перенёс. Теперь нервов меньше тратится :).
            0
            Помнится, на уроках информатики сдавал зачет по знанию горячих клавиш «Visual Studio» и «Total Commander»… Горячие клавиши на распечатку.
              0
              Сниппеты ещё распечатайте, очень ускоряет работу.
              0
              Кстати, ctrl+K,S позволяет выделенный текст разместить в блоке по выбору (регион, трай, класс, иф\елс, фор, форич и т.д.). Очень удобно.

              Хотелось бы знать, как бегать по коду не используя стрелок. Например, перейти к следующему блоку кода в методе (в цикл, например и блок трай). Видел я на сайте решарпера ( www.jetbrains.com/resharper/documentation/presentation/codingSession/CodingSession.wmv ) ролки, как там все быстро кодится. Перемещается по коду он довольно шустро. Должна и студия что-то из этого уметь.
                0
                Приношу дичайшие извинения, за длительное молчание, но лучше позже чем никогда :).

                Я посмотрел видео. Что могу сказать — помогут code snippet совместно с Ctrl+'+', а так же Ctrl+'-', стоит использовать F12. Конечно такой производительности, как показано в видео, не добиться, но приблизиться вполне возможно.
                  0
                  Ctrl+'-' я так понял это обратный переход, например, от Ф12. А вот заставить работать «плюс» я так и не смог.
                    0
                    Понял. Это просто позиция курсора. Но это все-таки не то, что нужно. Хотелось бы иметь навигацию по коду без мышки и стрелок (ну или при минимальном их участии).

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое