Как добавить новый функционал в вашу любимую идеешку

Привет, Хабр!
Хочу поведать о том, как я добавил новый функционал в Android Studio (спойлер, все то же самое работает в IntelliJ IDEA, PyCharm, CLion итд), и это ускорило мою жизнь в разы, а глаз почти что перестал дергаться.
Введение
Недавно, работая над одним из своих проектов в Android Studio, я осознал, что многие мои действия повторяются слишком часто.
Так, у меня была задача добавить новый UI элемент, который бы находился в самом конце списка. Соответственно, чтобы увидеть этот элемент, мне приходилось проматывать весь список вручную. А поскольку список был достаточно большим, мне приходилось тратить на это с десяток секунд. В какой-то момент мне это делать надоело.
Тогда я загуглил adb команду, которая делала бы это действие за меня.
Следующая команда помогла ускорить скролл вниз в несколько раз:
adb shell input swipe 500 1100 500 -30000
Численные параметры просто обозначают начальные и конечные точки по горизонтали и вертикали, по которым будет производиться скролл.
И получается, на этом этапе я просто открываю терминал и вызываю эту команду для супер быстрого скролла вниз.
Спустя время я придумал еще несколько команд для разных задач.
И здесь пришла другая проблема - мне постоянно приходилось держать терминал открытым. К тому же помнить, какая команда для чего нужна, мне не хотелось (нажимать на клавишу ↑ в терминале мне тоже стало неудобно из-за количества используемых команд).
Тогда я подумал: а что, если добавить в студию новый функционал? Писать плагин для студии мне показалось слишком долгим. Но этого оказалось и не надо. Я нашел раздел настроек, где можно добавить новый функционал, не потратив почти никакого времени.
External Tools
Сперва, надо добавить external tool в настройках вашей идеешки. Как я уже упоминал ранее, это можно сделать в любой среде разработки от JetBrains.
Для этого идем в Settings → Tools → External Tools.
Здесь просто нажимаем на плюсик и добавляем свою программу для запуска.
В моем случае - это adb. В качестве аргументов я прописываю shell input swipe 500 1100 500 -30000
Также можно добавить какое-нибудь имя, описание.

Подробнее обо всех настройках можно почитать здесь.
Половина дела сделана.
Customize toolbars
Теперь можно добавить саму кнопку в студию. Мне понравилось место рядом с кнопкой выбора девайса. Где-нибудь на этом тулбаре тыкаем ПКМ → Customize Toolbar:

Находим нужное место для вставки новой кнопки. Для удобства можно добавить сепаратор. Нажимаем на + → Add Action:

Вбиваем в поиск external tool и находим нашу новую тулу. Также можно выбрать иконку, чтобы не путаться среди добавленных кнопок. Нажимаем OK:

И вуаля: у нас в студии появилась новая кнопка. Теперь при нажатии на нее, на подключенном устройстве произойдет очень быстрый скролл вниз

Другие места вызова external tool
Если не хочется добавлять кнопки в студию, но все-таки хочется использовать сторонние скрипты, то есть следующие варианты использования.
Назначить комбинацию клавиш на новую тулу: Settings → Keymap

Запустить тулу через Tools menu:

Или прямо в редакторе можно нажать ПКМ:

Заключение
Таким образом в External Tools можно добавлять какие угодно скрипты / программы, например, помимо использования adb, я написал несколько python и batch скриптов.
В целом можно придумать много случаев из жизни, которые хотелось бы оптимизировать, но руки никак не доходили.
Для рабочего проекта я добавил больше 10 новых кнопок, среди которых скролл вверх, очистка базы данных приложения, очистка файловой системы приложения, force stop приложения. Это ускорило мою разработку в разы, чему я несомненно рад

Надеюсь, эта статья оказалась для вас полезной, и вы модифицируете свою любимую идеешку под ваши нужды :)