A causa di modifiche in una libreria che sto utilizzando, i getter sono stati sostituiti con accesso diretto alla proprietà. Ad esempio:Sostituisce getter con proprietà con Ricerca strutturale IntelliJ e Sostituisci
public class MyLibraryClass {
private String field;
public String getField() { return field; }
}
è diventato
public class MyLibraryClass {
public String field;
}
conseguenza che avrei voluto usare SSR di IntelliJ di sostituire le chiamate getter con la proprietà Bean. Tuttavia, sono rimasto bloccato su come utilizzare i gruppi di acquisizione regexp per la mia sostituzione. Se c'è un'altra scorciatoia IntelliJ per fare ciò che voglio, sono felice di usarlo.
I seguenti parametri di ricerca SSR trovano i getter, ma non riesco a essere in grado di utilizzare il gruppo di cattura per $property$
nella sostituzione. Ho provato \1
e \$1
e $1
See (using backreferences in IntelliJ)
Ho anche provato a cambiare la ricerca a $instance$.get$property$()
(compensazione dei vincoli per $property$
ma la ricerca non ha prodotto risultati.
- Come posso accedere al gruppo di acquisizione (
$1
) - E 'possibile effettuare alcuna elaborazione su
$1
prima sostituzione (per risolvere il caso)
Ho notato l'opzione Script text
che accetta il codice Groovy, tuttavia non sono riuscito a trovare alcuna documentazione su questa funzione.
Geweldige @ bas-leijdekkers! assolutamente eccezionale! – 62mkv
per coloro che cercano altri esempi di sostituzione strutturale: https://gist.github.com/62mkv/d1cdbac42e225d157226b3f8337c84af – 62mkv