Là một biến thể của phương pháp thay thế regexp, sau đây định dạng lại khoảng trống đó setters được theo sau là một dòng trống, nhưng thu khí không.
Find:
(\s(?:get|is|set)\w+\([^)]*\))\s*\{\s*(?:([^=;}]+;)\s*\}\s*(\R)|([^=;}]+=[^=;}]+;)\s*\}\s*(\R))
Thay thế bằng:
$1 { $2$4 } \R$5
Kết quả trong:
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; }
Đó là một điều thẩm mỹ nhỏ, nhưng tôi figured rằng nếu bạn đang tìm kiếm một trả lời cho câu hỏi này, sau đó bạn có thể (gần như) như hậu môn như tôi ;-)
Tôi biết điều kiện regexp của mình không nghiêm ngặt như của @Hosam, nhưng tôi chưa từng trải qua bất kỳ thay thế "dương tính giả" nào.
Nguồn
2015-05-29 01:23:34
Cảm ơn Hosam. Tôi lý tưởng thích một cách để có Eclipse chỉ tạo ra các getters trên một dòng mà không cần phải thực hiện bước thứ hai. –
Bạn được chào đón. Chúc may mắn tìm một. –
Tôi sẽ nói rằng RegEx của bạn hoạt động tốt. Một điều - có vẻ như trong phiên bản/cấu hình của Eclipse của tôi, biểu thức "thay thế bằng" cần sử dụng dấu đô la thay vì dấu gạch chéo ngược: $ 1 $ 2 $ 3 ($ 4) {$ 5} –