В этой статье я расскажу об одном из очень важных и нужных хоткеев в 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. Но позже я понял, что мне не нужно хранить ссылки на эти кнопки. Мне просто нужно обработать клик на кнопки. Вот как я справился с этим с помощью мультикурсора:
Легко и быстро
И многое другое...
Для меня это началось как небольшой трюк, который я использую один или два раза. Но, как это бывает с новыми вещами, во время работы я находил все больше и больше применений для него, и вдруг я поймал себя на мысли: “Как я мог жить без него раньше?”.
Если вы еще не используете его, я настоятельно рекомендую вам попробовать!
Автор: ImangazalievM