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

в 14:00, , рубрики: shortcut, shortcuts, shortcuts training, Блог компании Dodo Engineering, Лайфхаки для гиков, Разработка под android, Учебный процесс в IT, Читальный зал

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

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

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

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

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

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

Первые шаги

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

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

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

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

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

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

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

Просмотрите список шорткатов в вашей 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. Каждый раз, когда выполняется действие мышкой, он подсказывает, что то же самое можно сделать с помощью шортката:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Когда общаетесь с коллегами, спросите про их любимое сочетание клавиш в IDE — они могут вас удивить. И сами делитесь, если узнали об интересном шорткате, которым стали пользоваться — возможно, ваш коллега даже не догадывался о нём. Например, недавно на еженедельной встрече Android-гильдии я узнал о том самом сочетании Control + G. Теперь не представляю, как раньше работал без него.

Попробуйте научить шорткатам коллегу, который привык пользоваться мышкой

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


Ещё раз коротко перечислю основные мысли:

  • начните с нескольких основных сочетаний клавиш. Чтобы лучше запомнить их, положите список в распечатанном виде рядом с рабочим местом и просматривайте его время от времени;

  • выбирайте 1-2 новых для себя сочетаний клавиш и старайтесь постоянно применять в работе;

  • используйте плагины — они могут упростить изучение шорткатов;

  • смотрите, как работают в IDE ваши коллеги и обменивайтесь с ними интересными приёмами и шорткатами.

Вместо заключения

Первые читатели статьи отметили, что в ней мало моего личного опыта. Исправляю этот недочёт. Во время онбординга в Dodo Аня (мой ментор) периодически напоминала об изучении шорткатов. Где-то за месяц их использование стало входить в привычку, я постоянно пользовался практиками, описанными тут. Тяжелее всего давались дни, когда запрещал себе пользоваться мышкой, но и это скоро стало получаться автоматически. Примерно через полгода привычка закрепилась настолько, что всё стало происходить само собой.

Сейчас периодически просматриваю статьи-подборки шорткатов IDE, в которой работаю, пробегаю по списку сочетаний клавиш в настройках и иногда добавляю новые, если каких-то не хватает. Например, на скриншоте выше видно, что я использовал 171 шорткат 58 тысяч раз. К моменту публикации поста (это 2 недели спустя) — уже 187 шорткатов 83 тысяч раз.

Всё, что я написал, помогло мне использовать шорткаты в 80% случаев, а трекпад трогать крайне редко. В голове постоянно мысль, что нужно использовать клавиатуру, даже если я не знаю нужный шорткат. Остались некоторые действия, которые я пока не представляю, как сделать на клавиатуре быстрее, чем с помощью трекпада — тогда пользуюсь им. К примеру, если нужно быстро проскроллить на большое расстояние, выделить огромный кусок кода. Всё, что касается предпросмотра вёрстки, также делаю с помощью трекпада. Ещё есть вещи, которые можно сделать с помощью шортката, но никак не заставлю себя запомнить его — например, терминал в Android Studio я каждый раз открываю с помощью мыши.

Что ещё почитать: про шорткаты для XCode.

Автор: Василий Малеев

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js