Подтвердить что ты не робот

Форматирование Eclipse для getter/setter в одну строку?

Как я могу сказать (если когда-либо) Eclipse сделать одну строку для getter или setter при использовании автоматического форматирования?

public User getUser() {
   return user;
}

в

public User getUser() { return user; }
4b9b3361

Ответ 1

Если вам не нравится весь шаблон, который Java заставляет вас писать, вас может заинтересовать Project Lombok в качестве альтернативного решения.

Вместо того, чтобы пытаться отформатировать код, чтобы свести к минимуму визуальное влияние геттеров и сеттеров, Project Lombok позволяет им добавлять компилятор за кулисами, руководствуясь аннотациями в ваших полях класса.

Вместо написания такого класса:

 public class GetterSetterExample {
   private int age = 10;
   private String name;

   public int getAge() {
     return age;
   }

   public void setAge(int age) {
     this.age = age;
   }

   protected void setName(String name) {
     this.name = name;
   }
 }

Вы пишете:

 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.Setter;

 public class GetterSetterExample {
   @Getter @Setter private int age = 10;
   @Setter(AccessLevel.PROTECTED) private String name;
 }

(пример: http://projectlombok.org/features/GetterSetter.html)

Ответ 2

Форматирование кода Java в Eclipse не отличает между getters/seters и любыми другими методами в классе. Таким образом, это невозможно сделать с помощью встроенного форматирования eclipse.

Ответ 3

Как утверждают другие плакаты, Eclipse в настоящее время не может этого сделать. Однако есть запрос функции https://bugs.eclipse.org/bugs/show_bug.cgi?id=205973, и если он получает достаточное количество оборотов, есть шанс, что кто-то может его реализовать...

Ответ 4

Как использовать теги включения/выключения форматирования:

//@formatter:off
@override public final String getName() {return this.name;}
//@formatter:on

Вам нужно будет убедиться, что теги включения/выключения включены (настройки/java/code style/formatter/edit/off off tags). Это может быть значение по умолчанию.

Для одного метода он будет таким же уродливым, как метод с тремя линиями, но если у вас больше четырех или пяти, то он будет выглядеть более аккуратно. Он также позволяет группировать геттеры и сеттеры для свойства вместе, а не все геттеры, а затем все сеттеры.

Это мое решение, во всяком случае.