#android #templates #intellij-idea #android-studio #live-templates
#Android #шаблоны #intellij-idea #android-studio #live-шаблоны
Вопрос:
Я пытаюсь создать живой шаблон в Android Studio, который несколько ускорит создание findViewById(...)
Частично это самообучение, а частично любопытно создавать такие живые шаблоны.
Я хочу иметь возможность вводить следующее…
Button find
(введите)
… и это должно создать что-то вроде этого…
Button btnAdd = (Button) findViewById(R.id.btnAddition);
В моей текущей реализации есть проблемы…
… и эти проблемы связаны с использованием completeSmart()
. Всякий раз, когда вы используете completeSmart()
, шаблон игнорирует все после этого вызова и завершает редактирование.
Например, если бы я переместил CAST
именованную переменную на один слот выше ID
), то приведение было бы автоматически заполнено, и это больше не позволило бы мне легко редактировать ID
. То же, что и на картинке ниже, но без btnAddition
. Просто ...findViewById(R.id.);
При моей текущей настройке я располагаюсь CAST
в самом низу, поэтому я могу легко редактировать все именованные переменные; однако использование completeSmart()
не позволяет шаблону завершиться (поместите курсор на $END$
маркер — строку 29 на рисунке ниже), когда я закончу.
Вместо этого курсор помещается сразу после приведения, вот так…
…когда она должна быть помещена в начало следующей строки. Этот шаблон вставляет новую строку, но курсор не перемещается туда в конце. Почему?
Итак, я хочу это…
1) Поскольку я уже, но в Button
, я хочу, чтобы приведение было Button
. Мне не нужно было вводить дважды!
Ответ №1:
вы должны использовать метод typeOfVariable()
вы можете изменить следующим образом: