
В этой статье я расскажу об одном из очень важных и нужных хоткеев в Android Studio, который позволит вам значительно повысить вашу производительность. Кейсы, описанные здесь, встречаются наиболее часто при рефакторинге уже готового кода, поэтому рекомендую досконально изучить статью и выучить описанные хоткеи.
Внимание: Данный пост является очень вольным переводом этой статьи. Целью ставилось донести смысл текста, поэтому в некоторых местах текст может не совпадать с оригиналом.
Также советую посмотреть:
» Правильная настройка Android Studio
» Группирующий плагин для Android Studio
Мультикурсор. Что вы должны знать, чтобы понять, что это действительно мощно?
CTRL+G (Alt + J для Windows). Выделите текст и нажмите CTRL + G. Таким образом вы выделите вхождение выделенного текста далее в коде (таким образом создав новый курсор):

CTRL + G
Важной особенностью является то, что функция мультикурсор воспринимает код как обычный текст, так что вы можете также выбрать ключевое слово Java, и создать мультикурсор на его основе.

Комбинации клавиш для выделения
Изучите эти три комбинации клавиш:


Я мог бы попытаться объяснить что они делают, но лучше попробовать самому.
Важно: комбинации можно использовать без зажатой клавиши Shift для простого перемещения коду.
Примеры реального использования
Я использую мультикурсор постоянно. Иногда для больших задач, иногда для маленьких. Ниже приведены некоторые примеры использования данного сочетания клавиш.
@IntDef
Я очень люблю Support Annotations и использую их постоянно. @IntDef позволяет отказаться от использования перечислений, и просто создать кучу int’ов вместо enum. Посмотрите как мультикурсор может помочь мне с этим.
Вот что мне нужно:

Вот как я могу получить это:
Стандартный способ

Простое копирование-вставка

И переименование
Мультикурсор

CTRL + G
Я мог бы использовал его для выделения других вещей ("=", «1», ";" и т. д.), для примера я выбрал «int».
Создание последовательности
Если вы не хотите использовать плагин String Manipulation вы можете сделать это вручную. Вот как это выглядит с использованием плагина:

Последнее, возможно, было сделать при помощи SHIFT + ←

(Я обычно использую комбинацию клавиш C + 5, но здесь сделал это с помощью мыши для наглядности)
Копирование модифицированной версии строк
А вот, где действительно происходят “чудеса”:

Готово.
Извлечение стилей из xml-макета
Мультикурсор может легко работать с XML-макетом, а также. В моем конкретном случае было немного сложнее – мне нужно было извлечь стили из нескольких View.
В этом примере я использовал мультикурсор дважды, двумя различными способами.
Предположим, есть такой макет:

Вот как мультикурсор можете помочь мне с процессом извлечения:

И вот как я применяю извлеченные стиль к XML (также с мультикурсором):

OnClick в Butterknife
Это пример того, что произошло со мной несколько дней назад.
У было 5 кнопок в виде сложной View я использовал плагин Android Studio для генерации переменных с Bind. Но позже я понял, что мне не нужно хранить ссылки на эти кнопки. Мне просто нужно обработать клик на кнопки. Вот как я справился с этим с помощью мультикурсора:

Легко и быстро
И многое другое...
Для меня это началось как небольшой трюк, который я использую один или два раза. Но, как это бывает с новыми вещами, во время работы я находил все больше и больше применений для него, и вдруг я поймал себя на мысли: “Как я мог жить без него раньше?”.
Если вы еще не используете его, я настоятельно рекомендую вам попробовать!