Спасибо за уточнение! Пока писал не вспомнил про то, что extension не обязательно будет вне класса) Пожалуй, уберу "статический" из фразы, чтобы никого не запутать)
Помимо того, что описал в статье, context receivers неплохо показали себя в связке с ViewBinding + разметка с merge.
Если include-ить файлы разметки с тэгом merge, то для них нужно вручную inflate-ить ViewBinding. И до их вьюх не достать через родительский биндинг) А с context receivers можно провернуть следующее:
Breadcrumbs Breadcrumbs кликабельные на наше счастье) Часто на них жму, чтобы открыть в дереве файлов директорию текущего пакета.
Открыть текущий файл Кажется, что раньше можно было нажать на файл в breadcrumbs и он выделялся в дереве файлов. А может это никогда и не было, а я только открывал пакеты ? В любом случае, сейчас, чтобы открыть файл, начал привыкать к комбинации Cmd+F1, 1. Удобно получается за счёт того, что больше не нужно переключаться на мышь.
Умный поиск Чаще стал уточнять умный поиск, чтобы не искать лишнего. Например, если нужно запустить какую-нибудь команду IDE, то я нажимаю не Shift, Shift, а Cmd+Shift+A. А то порой, пока попадёшь на нужный action среди кучи файлов и функций, рабочий день успеет закончиться ?
Find Usages
Дополню, что есть комбинация клавиш (которую я постоянно забываю) - Option+F7. Но вообще пользуюсь ей в тех редких случаях, когда интуитивного Cmd+Click не хватает. Например, вкладка Find Usages не пропадает в отличии от выпадающего окна по Cmd+Click ?
Go to -> Implementation(s)
Открыть реализацию можно не только по клику на иконке рядом с методом/классом. Есть ещё команда Go to -> Implementation(s). Вызывается она:
либо из контекстного меню при нажатии ПКМ->Go to -> Implementation(s);
либо по нажатию комбинации Cmd+Option+B.
Поиск человека
Поддержу ответ@m_chrom, что ПКМ ->Show History (For Selection) реально порой спасает ничуть не хуже, чем git blame.
А так ещё добавлю, что blame с недавних пор появился в Android Studio ещё и как полупрозрачный текст с именем автора над методом/классом. Текст кликабельный. При нажатии раскрывает сбоку столбец с авторством так же, как это делает команда annotate.
Плюс воспользуюсь собственным текстом из п.3 и скажу, что Cmd+Shift+A -> "blame" -> Enter порой сделать быстрее, чем переключаться на мышку)
Спасибо за уточнение! Пока писал не вспомнил про то, что extension не обязательно будет вне класса) Пожалуй, уберу "статический" из фразы, чтобы никого не запутать)
Помимо того, что описал в статье, context receivers неплохо показали себя в связке с ViewBinding + разметка с merge.
Если include-ить файлы разметки с тэгом merge, то для них нужно вручную inflate-ить ViewBinding. И до их вьюх не достать через родительский биндинг) А с context receivers можно провернуть следующее:
Да. Всё верно. Устарели и надо переходить на актуальное API. Например,
flowWithLifecycle
, который я упомянул в самом начале в блоке "Ремарка"Круто расписано. Спасибо!
Есть что дополнить)
Breadcrumbs
Breadcrumbs кликабельные на наше счастье) Часто на них жму, чтобы открыть в дереве файлов директорию текущего пакета.
Открыть текущий файл
Кажется, что раньше можно было нажать на файл в breadcrumbs и он выделялся в дереве файлов. А может это никогда и не было, а я только открывал пакеты ?
В любом случае, сейчас, чтобы открыть файл, начал привыкать к комбинации Cmd+F1, 1. Удобно получается за счёт того, что больше не нужно переключаться на мышь.
Умный поиск
Чаще стал уточнять умный поиск, чтобы не искать лишнего. Например, если нужно запустить какую-нибудь команду IDE, то я нажимаю не Shift, Shift, а Cmd+Shift+A. А то порой, пока попадёшь на нужный action среди кучи файлов и функций, рабочий день успеет закончиться ?
Find Usages
Дополню, что есть комбинация клавиш (которую я постоянно забываю) - Option+F7. Но вообще пользуюсь ей в тех редких случаях, когда интуитивного Cmd+Click не хватает. Например, вкладка Find Usages не пропадает в отличии от выпадающего окна по Cmd+Click ?
Go to -> Implementation(s)
Открыть реализацию можно не только по клику на иконке рядом с методом/классом. Есть ещё команда Go to -> Implementation(s). Вызывается она:
либо из контекстного меню при нажатии ПКМ -> Go to -> Implementation(s);
либо по нажатию комбинации Cmd+Option+B.
Поиск человека
Поддержу ответ @m_chrom, что ПКМ -> Show History (For Selection) реально порой спасает ничуть не хуже, чем git blame.
А так ещё добавлю, что blame с недавних пор появился в Android Studio ещё и как полупрозрачный текст с именем автора над методом/классом. Текст кликабельный. При нажатии раскрывает сбоку столбец с авторством так же, как это делает команда annotate.
Плюс воспользуюсь собственным текстом из п.3 и скажу, что Cmd+Shift+A -> "blame" -> Enter порой сделать быстрее, чем переключаться на мышку)