Come variante del metodo di sostituzione regexp, la seguente riformatta gli spazi in modo che incastonatori sono seguiti da una linea vuota, ma getter non sono.
Ricerca:
(\s(?:get|is|set)\w+\([^)]*\))\s*\{\s*(?:([^=;}]+;)\s*\}\s*(\R)|([^=;}]+=[^=;}]+;)\s*\}\s*(\R))
Sostituire con:
$1 { $2$4 } \R$5
Risultati in:
int getTotal() { return total; }
void setTotal(int total) { this.total = total; }
List<String> getList() { return list; }
void setList(List<String> list) { this.list = list; }
Map.Entry<String, Integer> getEntry() { return entry; }
void setEntry(Map.Entry<String, Integer> entry) { this.entry = entry; }
E 'una cosa estetica minore, ma ho pensato che se siete alla ricerca di un rispondi a questa domanda, quindi probabilmente sei (quasi) anale come me ;-)
So che le mie condizioni regexp non sono rigide come quelle di @Hosam, ma non ho riscontrato sostituzioni "false positive".
fonte
2015-05-29 01:23:34
Grazie Hosam. Preferirei idealmente un modo per fare in modo che Eclipse generi i getter su una singola riga senza dover eseguire un secondo passo. –
Prego. Buona fortuna a trovarne uno. –
Direi che il tuo RegEx funziona bene. Una cosa: sembra nella mia versione/config di Eclipse, l'espressione "sostituisci da" deve utilizzare i segni del dollaro anziché la barra rovesciata: $ 1 $ 2 $ 3 ($ 4) {$ 5} –