- PVSM.RU - https://www.pvsm.ru -

В шорткаты умеешь? А если научу?

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

В шорткаты умеешь? А если научу? - 1

Я очень люблю работать на клавиатуре. Возможно, причина в том, что раньше учился играть на музыкальных инструментах и появилась привычка к отточенным, чётким и быстрым, но плавным движениям пальцев. Поэтому при работе с кодом использование мышки или трекпада кажется мне не очень эффективным, стараюсь по максимуму использовать возможности IDE и делать всё с помощью клавиатуры. Но так было не всегда.

Буквально пару лет назад я знал максимум 10 любимых сочетаний клавиш (в основном это была навигация) и думал, что этого достаточно. По любому поводу тянулся к мышке и искал глазами в меню нужный пункт. Казалось, это вполне нормально, а изучение шорткатов или другого подхода не стоит затраченных усилий и времени.

Всё поменялось после моего прихода в Dodo. Стало сюрпризом, что в ходе онбординга мне настоятельно рекомендовали распечатать список шорткатов IDE, в которой предстоит работать (это были Rider и Android Studio) и время от времени следили за тем, чтобы я выучил хотя бы базовые 10-15 сочетаний. Правда, этим всё и ограничилось, но после того, как я узнал несколько новых для себя и полезных шорткатов, стало интересно, может, есть ещё сочетания клавиш, про которые я не знаю, но которые сильно упростят мне работу? И (кто бы мог подумать) оказалось, что есть!

Если вы решили, что хотите работать с IDE быстрее и эффективнее, то давайте начнём. Практики, описанные ниже, не привязаны к конкретной IDE. Для примера буду описывать свой опыт с Android Studio.

Первые шаги

Сложнее всего заставить себя начать. Потому что сначала нужно убедить себя, что это действительно необходимо. Меня мотивировали коллеги, которые в два быстрых клика по клавиатуре выполняли то, что я привык делать за две-три секунды с помощью трекпада. Также есть несколько исследований, из которых можно сделать вывод: изначально (без тренировки) мышка даёт бОльшую скорость, которая, однако, не сильно растёт с практикой. При использовании же шорткатов начальная скорость довольно низкая, но при совершенствовании навыков она может расти практически сколько угодно. С некоторыми исследованиями можно ознакомиться вот тут [1].

Распечатайте список шорткатов из IDE

Да, это банально, но я бы рекомендовал начать с этого. Найдите список сочетаний клавиш, включите принтер, положите в него лист бумаги, вернитесь к вашему компьютеру, отправьте список на печать, снова сходите к принтеру, заберите распечатку и положите рядом с рабочим местом. Этот ритуал поможет начать изучать возможности IDE. Попробуйте сочетания из списка — это не займёт много времени. Сначала вы наверняка не запомните практически ничего, но главное, что он будет рядом. Отмечайте самые полезные шорткаты и постепенно вы запомните их и будете применять автоматически.

Для того чтобы напечатать текущую настройку сочетаний клавиш в Idea, есть удобный плагин Keymap exporter [2].

В шорткаты умеешь? А если научу? - 2
В шорткаты умеешь? А если научу? - 3
В шорткаты умеешь? А если научу? - 4

Найдите подборки шорткатов для вашей IDE в сети

На Хабре, Медиуме и других источниках можно найти много статей с описанием самых распространённых шорткатов для вашей любимой IDE. Очень удобно, когда в таких статьях есть иллюстрации действий, выполняемых сочетанием клавиш. Например, для Android Studio мне очень нравится статья Android Studio Shortcuts and Tricks to Speed Up Your Productivity [3]. Такие статьи позволят найти самые полезные шорткаты. Я отмечал их в распечатанном списке, чтобы визуально выделить, и применял их в работе в первую очередь. Вы можете поступить так же.

Просмотрите список шорткатов в вашей IDE

Когда вы немного освоились с основными шорткатами, пролистайте список всех сочетаний, настроенных в IDE. В Idea это можно сделать в Preferences -> Keymap.

Зачем, если мы только что распечатали целый список? Во-первых, шорткатов слишком много, и не все из них печатаются. К примеру, отсутствует суперполезное сочетание Control + G (для macOS — найти следующее вхождение выделенного текста и выделить его). Во-вторых, некоторые полезные команды могут не иметь шортката, в таком случае можно назначить свой.

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

В шорткаты умеешь? А если научу? - 5

Тренируйтесь

Самое Главное Сочетание Клавиш

Вы можете в любой момент забыть любое сочетание клавиш, а может, для нужного действия его нет вообще. И вот рука уже сама потянулась к трекпаду... Без паники останавливаем её, возвращаем на клавиатуру и вспоминаем главное сочетание клавиш: Command + Shift + A (macOS) или Control + Shift + A (Windows). При нажатии увидите меню, которое называется Actions (и сочетание легко запомнить по первой букве этого слова). В появившемся окне начинаете набирать действие, которое хотели выполнить, и IDE сама подскажет вам и само действие, и шорткат для него.

По действиям в списке очень удобно перемещаться стрелками вверх/вниз. Можете нажать просто Enter, чтобы выполнить действие, а можете закрыть это окно и воспользоваться предложенным шорткатом. Вуаля, действие выполнено без единого движения курсора!

В шорткаты умеешь? А если научу? - 6

В macOS есть ещё одно полезное сочетание клавиш — Command + Shift + /. Это вызов справки. Если ваша IDE основана не на Idea, то оно может очень пригодиться. Всё просто: нажимаете Command + Shift + / и начинаете вводить команду. Причём это будет работать не только в IDE.

Я, к примеру, пишу эту статью в «Заметках» и забыл, как выполняется поиск по документу: вызываю справку с помощью шортката, набираю «Найти», с помощью стрелок нахожу нужную команду. Можно нажать Enter, чтобы команда выполнилась, но это не наш путь — мы же изучаем шорткаты :) Напротив пункта меню обычно можно найти нужное сочетание клавиш — посмотрите его, закройте меню и выполните команду с его помощью. Ничего страшного, если вы не запомните с первого раза — после нескольких повторений всё равно получится.

В шорткаты умеешь? А если научу? - 7

Пользуйтесь плагинами

Есть плагины, которые облегчают запоминание сочетаний клавиш. Их можно найти, поколдовав разными словосочетаниями со словом «shortcut» в поиске плагинов. Для Idea очень нравится Key promoter X [4]. Каждый раз, когда выполняется действие мышкой, он подсказывает, что то же самое можно сделать с помощью шортката:

В шорткаты умеешь? А если научу? - 8

Своё дело этот плагин делает хорошо: я узнал и запомнил много полезных сочетаний клавиш с его помощью, лишь бы не выскакивало назойливое окошко внизу экрана. Есть и статистика по действиям, которые можно было бы выполнить с помощью клавиатуры, но они были сделаны мышкой. Вот, например, моя статистика:

Видно, что нужно почаще использовать сочетание Command + B, это ускорило бы навигацию.
Видно, что нужно почаще использовать сочетание Command + B, это ускорило бы навигацию.

Ещё одна полезная фича Key promoter X: если то, что вы делаете мышкой, не имеет сочетания клавиш, плагин предложит добавить его.

В шорткаты умеешь? А если научу? - 10

Устройте себе день без мышки и трекпада

Когда я попробовал обойтись без трекпада впервые, то испытал раздражение. Честно. Вот они, вкладки файлов в IDE, которые я привык переключать мышкой! Блин, да как между ними переключаться?! Я злился, что трачу на привычное действие так много времени. Первый раз продлился около полутора часов, и я ужасно устал. Но это нормальная реакция мозга [5] на новый вид нагрузки. Уже на второй раз я приспособился и выполнял действия по навигации и рефакторингу значительно быстрее.

Что делать? Договоритесь с собой и своими руками, что при работе в IDE каждую среду до обеда вы не будете трогать мышку. Для начала может быть достаточно даже одного часа. Практически любое действие в IDE можно выполнить без мыши, с помощью шорткатов или Самого Главного Сочетания Клавиш Command + Shift + A. Попробуйте и через некоторое время обнаружите, что руки сами понимают, как выполнить нужное действие максимально быстро.

У меня даже в календаре стоит напоминалка, чтобы точно не забыть.
У меня даже в календаре стоит напоминалка, чтобы точно не забыть.

Если очень хочется соблюдать «безмышинный» режим, но не получается, могу посоветовать ещё один плагин — Force Shortcuts [6]. Если для действия, которое вы совершаете, есть шорткат, плагин блокирует клик и предлагает использовать шорткат:

В шорткаты умеешь? А если научу? - 12

Тренируйтесь регулярно

Если вы выполняете упражнения вроде TDD Kata [7], добавьте в них тренировку шорткатов. Если нет — ничего страшного. Выберите один шорткат, который можно использовать при работе с кодом, и старайтесь применять его в ходе упражнений или работы в течение всего дня. Через некоторое время будете применять его, не задумываясь.

Обменивайтесь знаниями

Обращайте внимание на то, как пользуются IDE ваши коллеги

Вы можете работать в паре, просто работать рядом с кем-то или проходить мимо по своим делам — обращайте внимание, как ваши коллеги пользуются IDE. Так можно взять себе на вооружение много интересных приёмов.

Ещё можно посмотреть статистику шорткатов, которые используют коллеги — для этого есть плагин Shortcut Stats [8]. Если видите в топе незнакомый шорткат — берите на заметку. Возможно, именно его вам не хватает в ежедневной работе. Сама статистика выглядит примерно так: указано сочетание клавиш, количество применений, а при выборе строки в списке снизу отображается название действия:

В шорткаты умеешь? А если научу? - 13

Устраивайте обсуждение любимых шорткатов

Когда общаетесь с коллегами, спросите про их любимое сочетание клавиш в 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