Я хочу использовать ButterKnife для Android. Мне нужно аннотировать некоторые поля на основе некоторых выражений, которые находятся в другом месте кода. У меня есть код, как этотИспользуйте IntelliJ структурный поиск, чтобы заменить поле и его выражение новым полем
private String myField;
...
public myClassConstructor() {
...
myField = res.getString(R.string.my_string_id);
...
}
Я хочу, чтобы этот
@BindString(R.string.my_string_id);
String myField;
...
public myClassConstructor() {
...
...
}
В результате выражение уводят, а поле помечается на основе старого выражения.
Возможно ли это осуществить поиск и замену в структурной замене IntelliJ? Кажется, что он не изящно обрабатывает случай, когда интересующие линии не смежны и находятся в разных местах структурно. Я попытался использовать его в шаблоне класса и использовал $ Statement $ (0-неограниченные вхождения), но это не сработало для меня.
Я понял, что на самом деле он относительно прост в использовании с регулярными выражениями, что намного проще, чем получение структурного поиска IntelliJ для игры в мяч, но Мне нравится изучать мои инструменты, поэтому мне все равно хотелось бы знать, возможно ли это.
Я также нашел, что это перепутано мой код, иногда удаляя гораздо больше, чем нужно, или вставил новый класс. Казалось, это работает для очень простых и локальных обысков. Я надеялся, что кто-то скажет, что это невозможно, или так оно и есть. Если никто с уверенным знанием не перехватит, я буду считать его, потому что знают только разработчики и что он, вероятно, не может делать то, что я хотел. – arberg