CTRL + G — хоткей, полностью изменивший принцип моей работы
В этой статье я расскажу об одном из очень важных и нужных хоткеев в 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. Но позже я понял, что мне не нужно хранить ссылки на эти кнопки. Мне просто нужно обработать клик на кнопки. Вот как я справился с этим с помощью мультикурсора:
Легко и быстро
И многое другое…Для меня это началось как небольшой трюк, который я использую один или два раза. Но, как это бывает с новыми вещами, во время работы я находил все больше и больше применений для него, и вдруг я поймал себя на мысли: «Как я мог жить без него раньше?».
Если вы еще не используете его, я настоятельно рекомендую вам попробовать!
Комментарии (5)
19 сентября 2016 в 18:25
+3↑
↓
При всём том качестве гифок и объёме проделанной работе, пост про один хоткей? Вы серьёзно? При том что фича весьма известная и обычный мультикрусор по альту умеет множество редакторов. Вимеры вообще тихо хихикают от подобных «фич».19 сентября 2016 в 18:39
0↑
↓
Статья не совсем про хоткий, а скорее про саму идею мультиселекта. Из коллег-разработчиков, я замечал что от силы 20% используют эту «фичу», и ещё меньше делают это наполную.
Важное отличие приведенных примеров от мультикурсора по альту это именно выделение шаблонов. Из своего опыта, в 90% использовании мультиселекта одним альтом не обойдешься.
Вимеры могут хихикать, но тут вопрос не холивара, а повышения производительности тех, кто уже выбрал темную сторону IDE. Вимеры могут игнорировать посты про Android studio.пс я работаю с основном с идеей, и там хоткий другой по умолчанию (alt+j). И мне кажется в студии вряд ли он ctrl+g (ибо это стандартный переход на строку).
Кстати, если вдруг кто будет читать, альтернатива для alt+select на клавиатуре (без мыши) ctrl+ctrl и стрелки. По крайней мере в идее именно так19 сентября 2016 в 18:41
0↑
↓
»хихи»…
Самое детальное описание одного хоткея, что я видел…
19 сентября 2016 в 19:06
0↑
↓
Спасибо, что вставили гифки.так гораздо проще усваивается статья, чем если бы была полностью описана текстом. Плюс время секономили19 сентября 2016 в 19:10
0↑
↓
В примерах «обычных», без хоткея, я вижу как вы выделяете, и правите текст.
Все примеры с мультикурсором — только выделение, никаких исправлений. Как-то непонятно, зачем выделять? Я что-то пропустил?Чем плоха обычная автозамена текста в выделенном блоке?