21

自動フォーマットを使用するときに、getter または setter 用に 1 行を作成するように Eclipse に指示するにはどうすればよいですか?

public User getUser() {
   return user;
}

に:

public User getUser() { return user; }
4

4 に答える 4

12

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 )

于 2012-04-24T18:40:05.400 に答える
4

他のポスターが述べているように、Eclipse は現在これを行うことができません。ただし、 https: //bugs.eclipse.org/bugs/show_bug.cgi?id=205973 に機能リクエストがあり、十分な賛成票が得られれば、誰かがそれを実装する可能性があります...

于 2013-02-20T19:17:15.243 に答える
4

Eclipse での Java コードのフォーマットでは、クラス内の getter/setter とその他のメソッドが区別されません。したがって、これは組み込みのEclipseフォーマットでは実行できません。

于 2012-04-24T18:24:26.817 に答える
3

フォーマッターの on/off タグを使用するのはどうですか:

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

on/off タグが有効になっていることを確認する必要があります (preferences/java/code style/formatter/edit/on off タグ)。これがデフォルトの場合があります。

メソッドが 1 つだけの場合は、3 行の getter メソッドと同じくらい見栄えが悪くなりますが、4 つまたは 5 つ以上のメソッドがある場合は、見栄えが良くなります。また、すべてのゲッターとすべてのセッターをグループ化するのではなく、プロパティのゲッターとセッターをグループ化することもできます。

とにかく、それが私の解決策です。

于 2017-10-10T17:39:20.403 に答える