Als Variation des regexp Ersatz Ansatz, der folgende den Leer neu formatiert, so dass Setter durch eine Leerzeile, sondern Getter sind nicht.
Suche:
(\s(?:get|is|set)\w+\([^)]*\))\s*\{\s*(?:([^=;}]+;)\s*\}\s*(\R)|([^=;}]+=[^=;}]+;)\s*\}\s*(\R))
ersetzen durch:
$1 { $2$4 } \R$5
Ergebnisse 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; }
Es ist eine kleine ästhetische Sache, aber ich dachte, dass, wenn Sie für eine gesuchte Antwort auf diese Frage, dann bist du wahrscheinlich (fast) so anal wie ich ;-)
Ich weiß, dass meine Regexp-Bedingungen nicht so streng sind wie die von @Hosam, aber ich habe keine "falsch positiven" Ersetzungen erlebt.
Dank Hosam. Ich würde im Idealfall einen Weg bevorzugen, Eclipse nur die Getter in einer einzigen Zeile zu erzeugen, ohne einen zweiten Schritt ausführen zu müssen. –
Gern geschehen. Viel Glück, eins zu finden. –
Ich würde sagen, dass Ihre RegEx funktioniert gut. Eine Sache - scheint in meiner Version/Config von Eclipse, der Ausdruck "Ersetzen durch" muss Dollarzeichen anstelle des Backslash verwenden: $ 1 $ 2 $ 3 ($ 4) {$ 5} –