Pull to refresh

CTRL + G — хоткей, полностью изменивший принцип моей работы

Reading time 2 min
Views 43K


В этой статье я расскажу об одном из очень важных и нужных хоткеев в 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. Но позже я понял, что мне не нужно хранить ссылки на эти кнопки. Мне просто нужно обработать клик на кнопки. Вот как я справился с этим с помощью мультикурсора:



Легко и быстро

И многое другое...


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

Если вы еще не используете его, я настоятельно рекомендую вам попробовать!
Tags:
Hubs:
+13
Comments 39
Comments Comments 39

Articles