Ich möchte ButterKnife für Android verwenden. Ich muss einige Felder basierend auf einigen Ausdrücken, die anderswo im Code sind, annotieren. Ich habe Code wie dieseVerwenden Sie IntelliJ strukturelle Suche, um Feld und seinen Ausdruck durch neues Feld zu ersetzen
private String myField;
...
public myClassConstructor() {
...
myField = res.getString(R.string.my_string_id);
...
}
mag ich diese
@BindString(R.string.my_string_id);
String myField;
...
public myClassConstructor() {
...
...
}
Im Ergebnis der Ausdruck ist weg, und das Feld auf dem alten Ausdruck mit Anmerkungen versehen basiert.
Ist es möglich, diese Art von Suchen und Ersetzen in IntelliJ strukturellen Ersatz zu tun? Es scheint, dass es den Fall nicht anmutig handhabt, wenn die Linien von Interesse nicht benachbart sind und strukturell an verschiedenen Stellen sind. Ich habe versucht, es auf Klassenvorlage zu basieren, und $ Anweisung $ (0-unbegrenzte Vorkommen) verwendet, aber es hat nicht für mich funktioniert.
Ich erkannte, dass es eigentlich relativ einfach mit regulären Ausdrücken zu tun ist, sicherlich viel einfacher als IntelliJ strukturelle Suche Ball zu spielen, aber Ich mag meine Werkzeuge zu lernen, so würde ich immer noch gerne wissen, ob dies möglich ist.
ich es auch verwirrt gefunden up meinen Code, manchmal weit mehr entfernen, als es sollte, oder eine neue Klasse eingefügt. Es schien für sehr einfache und lokale Suche zu funktionieren. Ich hatte gehofft, dass jemand sagen würde, dass es nicht möglich ist oder so ist. Wenn niemand mit sicherem Wissen hereinkommt, nehme ich das an, weil nur die Entwickler wissen und es wahrscheinlich nicht tun kann, was ich wollte. – arberg