- PVSM.RU - https://www.pvsm.ru -
В этой статье не будет «топ сочетаний клавиш, которые должен знать каждый разработчик» или «рейтинг любимых сочетаний клавиш, которые ускорят вас на 124%». Я хочу поделиться опытом, как можно постепенно изучать шорткаты. Так, чтобы работа с кодовой базой становилась оптимальнее и вы выполняли рутинные действия на автомате вместо того, чтобы искать десятый раз за день один и тот же пункт в меню.
Я очень люблю работать на клавиатуре. Возможно, причина в том, что раньше учился играть на музыкальных инструментах и появилась привычка к отточенным, чётким и быстрым, но плавным движениям пальцев. Поэтому при работе с кодом использование мышки или трекпада кажется мне не очень эффективным, стараюсь по максимуму использовать возможности IDE и делать всё с помощью клавиатуры. Но так было не всегда.
Буквально пару лет назад я знал максимум 10 любимых сочетаний клавиш (в основном это была навигация) и думал, что этого достаточно. По любому поводу тянулся к мышке и искал глазами в меню нужный пункт. Казалось, это вполне нормально, а изучение шорткатов или другого подхода не стоит затраченных усилий и времени.
Всё поменялось после моего прихода в Dodo. Стало сюрпризом, что в ходе онбординга мне настоятельно рекомендовали распечатать список шорткатов IDE, в которой предстоит работать (это были Rider и Android Studio) и время от времени следили за тем, чтобы я выучил хотя бы базовые 10-15 сочетаний. Правда, этим всё и ограничилось, но после того, как я узнал несколько новых для себя и полезных шорткатов, стало интересно, может, есть ещё сочетания клавиш, про которые я не знаю, но которые сильно упростят мне работу? И (кто бы мог подумать) оказалось, что есть!
Если вы решили, что хотите работать с IDE быстрее и эффективнее, то давайте начнём. Практики, описанные ниже, не привязаны к конкретной IDE. Для примера буду описывать свой опыт с Android Studio.
Сложнее всего заставить себя начать. Потому что сначала нужно убедить себя, что это действительно необходимо. Меня мотивировали коллеги, которые в два быстрых клика по клавиатуре выполняли то, что я привык делать за две-три секунды с помощью трекпада. Также есть несколько исследований, из которых можно сделать вывод: изначально (без тренировки) мышка даёт бОльшую скорость, которая, однако, не сильно растёт с практикой. При использовании же шорткатов начальная скорость довольно низкая, но при совершенствовании навыков она может расти практически сколько угодно. С некоторыми исследованиями можно ознакомиться вот тут [1].
Распечатайте список шорткатов из IDE
Да, это банально, но я бы рекомендовал начать с этого. Найдите список сочетаний клавиш, включите принтер, положите в него лист бумаги, вернитесь к вашему компьютеру, отправьте список на печать, снова сходите к принтеру, заберите распечатку и положите рядом с рабочим местом. Этот ритуал поможет начать изучать возможности IDE. Попробуйте сочетания из списка — это не займёт много времени. Сначала вы наверняка не запомните практически ничего, но главное, что он будет рядом. Отмечайте самые полезные шорткаты и постепенно вы запомните их и будете применять автоматически.
Для того чтобы напечатать текущую настройку сочетаний клавиш в Idea, есть удобный плагин Keymap exporter [2].
Найдите подборки шорткатов для вашей IDE в сети
На Хабре, Медиуме и других источниках можно найти много статей с описанием самых распространённых шорткатов для вашей любимой IDE. Очень удобно, когда в таких статьях есть иллюстрации действий, выполняемых сочетанием клавиш. Например, для Android Studio мне очень нравится статья Android Studio Shortcuts and Tricks to Speed Up Your Productivity [3]. Такие статьи позволят найти самые полезные шорткаты. Я отмечал их в распечатанном списке, чтобы визуально выделить, и применял их в работе в первую очередь. Вы можете поступить так же.
Просмотрите список шорткатов в вашей IDE
Когда вы немного освоились с основными шорткатами, пролистайте список всех сочетаний, настроенных в IDE. В Idea это можно сделать в Preferences -> Keymap.
Зачем, если мы только что распечатали целый список? Во-первых, шорткатов слишком много, и не все из них печатаются. К примеру, отсутствует суперполезное сочетание Control + G (для macOS — найти следующее вхождение выделенного текста и выделить его). Во-вторых, некоторые полезные команды могут не иметь шортката, в таком случае можно назначить свой.
Возможно, вы найдёте несколько полезных сочетаний клавиш и добавите их в свой арсенал. Не нужно пытаться сразу запомнить всё, можно постепенно учить на практике.
Самое Главное Сочетание Клавиш
Вы можете в любой момент забыть любое сочетание клавиш, а может, для нужного действия его нет вообще. И вот рука уже сама потянулась к трекпаду... Без паники останавливаем её, возвращаем на клавиатуру и вспоминаем главное сочетание клавиш: Command + Shift + A (macOS) или Control + Shift + A (Windows). При нажатии увидите меню, которое называется Actions (и сочетание легко запомнить по первой букве этого слова). В появившемся окне начинаете набирать действие, которое хотели выполнить, и IDE сама подскажет вам и само действие, и шорткат для него.
По действиям в списке очень удобно перемещаться стрелками вверх/вниз. Можете нажать просто Enter, чтобы выполнить действие, а можете закрыть это окно и воспользоваться предложенным шорткатом. Вуаля, действие выполнено без единого движения курсора!
В macOS есть ещё одно полезное сочетание клавиш — Command + Shift + /. Это вызов справки. Если ваша IDE основана не на Idea, то оно может очень пригодиться. Всё просто: нажимаете Command + Shift + / и начинаете вводить команду. Причём это будет работать не только в IDE.
Я, к примеру, пишу эту статью в «Заметках» и забыл, как выполняется поиск по документу: вызываю справку с помощью шортката, набираю «Найти», с помощью стрелок нахожу нужную команду. Можно нажать Enter, чтобы команда выполнилась, но это не наш путь — мы же изучаем шорткаты :) Напротив пункта меню обычно можно найти нужное сочетание клавиш — посмотрите его, закройте меню и выполните команду с его помощью. Ничего страшного, если вы не запомните с первого раза — после нескольких повторений всё равно получится.
Пользуйтесь плагинами
Есть плагины, которые облегчают запоминание сочетаний клавиш. Их можно найти, поколдовав разными словосочетаниями со словом «shortcut» в поиске плагинов. Для Idea очень нравится Key promoter X [4]. Каждый раз, когда выполняется действие мышкой, он подсказывает, что то же самое можно сделать с помощью шортката:
Своё дело этот плагин делает хорошо: я узнал и запомнил много полезных сочетаний клавиш с его помощью, лишь бы не выскакивало назойливое окошко внизу экрана. Есть и статистика по действиям, которые можно было бы выполнить с помощью клавиатуры, но они были сделаны мышкой. Вот, например, моя статистика:
Ещё одна полезная фича Key promoter X: если то, что вы делаете мышкой, не имеет сочетания клавиш, плагин предложит добавить его.
Устройте себе день без мышки и трекпада
Когда я попробовал обойтись без трекпада впервые, то испытал раздражение. Честно. Вот они, вкладки файлов в IDE, которые я привык переключать мышкой! Блин, да как между ними переключаться?! Я злился, что трачу на привычное действие так много времени. Первый раз продлился около полутора часов, и я ужасно устал. Но это нормальная реакция
Что делать? Договоритесь с собой и своими руками, что при работе в IDE каждую среду до обеда вы не будете трогать мышку. Для начала может быть достаточно даже одного часа. Практически любое действие в IDE можно выполнить без мыши, с помощью шорткатов или Самого Главного Сочетания Клавиш Command + Shift + A. Попробуйте и через некоторое время обнаружите, что руки сами понимают, как выполнить нужное действие максимально быстро.
Если очень хочется соблюдать «безмышинный» режим, но не получается, могу посоветовать ещё один плагин — Force Shortcuts [6]. Если для действия, которое вы совершаете, есть шорткат, плагин блокирует клик и предлагает использовать шорткат:
Тренируйтесь регулярно
Если вы выполняете упражнения вроде TDD Kata [7], добавьте в них тренировку шорткатов. Если нет — ничего страшного. Выберите один шорткат, который можно использовать при работе с кодом, и старайтесь применять его в ходе упражнений или работы в течение всего дня. Через некоторое время будете применять его, не задумываясь.
Обращайте внимание на то, как пользуются IDE ваши коллеги
Вы можете работать в паре, просто работать рядом с кем-то или проходить мимо по своим делам — обращайте внимание, как ваши коллеги пользуются IDE. Так можно взять себе на вооружение много интересных приёмов.
Ещё можно посмотреть статистику шорткатов, которые используют коллеги — для этого есть плагин Shortcut Stats [8]. Если видите в топе незнакомый шорткат — берите на заметку. Возможно, именно его вам не хватает в ежедневной работе. Сама статистика выглядит примерно так: указано сочетание клавиш, количество применений, а при выборе строки в списке снизу отображается название действия:
Устраивайте обсуждение любимых шорткатов
Когда общаетесь с коллегами, спросите про их любимое сочетание клавиш в IDE — они могут вас удивить. И сами делитесь, если узнали об интересном шорткате, которым стали пользоваться — возможно, ваш коллега даже не догадывался о нём. Например, недавно на еженедельной встрече Android-гильдии я узнал о том самом сочетании Control + G. Теперь не представляю, как раньше работал без него.
Попробуйте научить шорткатам коллегу, который привык пользоваться мышкой
Если вам понравилось, насколько быстро стали выполняться действия в IDE, и вы видите, как ваш коллега мучительно медленно ведёт курсор из одного угла экрана в другой, подскажите ему удобное сочетание клавиш. Скорее всего, этим сильно облегчите ему жизнь.
Ещё раз коротко перечислю основные мысли:
начните с нескольких основных сочетаний клавиш. Чтобы лучше запомнить их, положите список в распечатанном виде рядом с рабочим местом и просматривайте его время от времени;
выбирайте 1-2 новых для себя сочетаний клавиш и старайтесь постоянно применять в работе;
используйте плагины — они могут упростить изучение шорткатов;
смотрите, как работают в IDE ваши коллеги и обменивайтесь с ними интересными приёмами и шорткатами.
Первые читатели статьи отметили, что в ней мало моего личного опыта. Исправляю этот недочёт. Во время онбординга в Dodo Аня (мой ментор) периодически напоминала об изучении шорткатов. Где-то за месяц их использование стало входить в привычку, я постоянно пользовался практиками, описанными тут. Тяжелее всего давались дни, когда запрещал себе пользоваться мышкой, но и это скоро стало получаться автоматически. Примерно через полгода привычка закрепилась настолько, что всё стало происходить само собой.
Сейчас периодически просматриваю статьи-подборки шорткатов IDE, в которой работаю, пробегаю по списку сочетаний клавиш в настройках и иногда добавляю новые, если каких-то не хватает. Например, на скриншоте выше видно, что я использовал 171 шорткат 58 тысяч раз. К моменту публикации поста (это 2 недели спустя) — уже 187 шорткатов 83 тысяч раз.
Всё, что я написал, помогло мне использовать шорткаты в 80% случаев, а трекпад трогать крайне редко. В голове постоянно мысль, что нужно использовать клавиатуру, даже если я не знаю нужный шорткат. Остались некоторые действия, которые я пока не представляю, как сделать на клавиатуре быстрее, чем с помощью трекпада — тогда пользуюсь им. К примеру, если нужно быстро проскроллить на большое расстояние, выделить огромный кусок кода. Всё, что касается предпросмотра вёрстки, также делаю с помощью трекпада. Ещё есть вещи, которые можно сделать с помощью шортката, но никак не заставлю себя запомнить его — например, терминал в Android Studio я каждый раз открываю с помощью мыши.
Что ещё почитать: про шорткаты для XCode [9].
Автор: Василий Малеев
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka-pod-android/366957
Ссылки в тексте:
[1] тут: https://ux.stackexchange.com/a/30749
[2] Keymap exporter: https://plugins.jetbrains.com/plugin/7066-keymap-exporter
[3] Android Studio Shortcuts and Tricks to Speed Up Your Productivity: https://medium.com/huawei-developers/android-studio-shortcuts-and-tricks-to-speed-up-your-productivity-7780dc5cab81
[4] Key promoter X: https://plugins.jetbrains.com/plugin/9792-key-promoter-x
[5] мозга: http://www.braintools.ru
[6] Force Shortcuts: https://plugins.jetbrains.com/plugin/8357-force-shortcuts
[7] TDD Kata: https://medium.com/javarevisited/tdd-katas-5e897300a887
[8] Shortcut Stats: https://plugins.jetbrains.com/plugin/14712-shortcuts-stats
[9] про шорткаты для XCode: https://habr.com/ru/company/dododev/blog/527740/
[10] Источник: https://habr.com/ru/post/572216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=572216
Нажмите здесь для печати.