web-dev-qa-db-ja.com

ローカル変数オブジェクトのすべてのセッター/ゲッターメソッドのIntellijコード補完

私はこれを探してみましたが、正直なところ、実際に検索する用語は私を逃れています。小さなコードスニペットの後に質問が続きます。

Public class Person {

   String firstName;
   String lastName;

   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }

   public String getFirstName() {
      return firstName;
   }
   ...
}

この人物オブジェクトを使用する別のオブジェクト Intellijのすべてのセッターメソッドを拡張できるようにしたいと思います。

public class PersonAssembler { 
    public static Person assemblePerson(SomeOtherObject someOtherObject) {

    Person person = new Person;

    //intellj would provide this below.
    person.setFirstName();
    person.setLastName();
    //end of what intellj provides.

    return person;
}

これも可能ですか?キーボードショートカットなどに目を通しました。しばらくの間、intellijを使用していました。

私は列編集モードを望んでいました。その後、コード補完と複数の補完を選択するためのShift +下矢印を期待していましたが、運はありませんでした。驚くことではありません。 GUIでそれを書くのは嫌です。

編集:私はいくつかの説明を追加し、正直にこの質問を忘れました。慎重に読んだ場合、答えは実際の質問とは関係ありません。コンテキストメニューの生成とは言いません。

40
Blake Dunn

これは古い質問ですが、誰かを助けるかもしれません。

また、「シングルクリック」アクションではありませんが、...

従うべき手順:

  • クラスファイルに移動
  • 構造ビューを開く(左パネル)
  • すべてのセッターを選択し(必要に応じてアルファベット順に並べ替え)、コピーします
  • 目的のクラス/メソッドに戻ります
  • コピーを貼り付け
  • (列モードで)編集してperson.各クラスの先頭と() 最後に。
19
rodrigobb

プロジェクトで、入力画面の任意の場所を右クリックし、「生成...」をクリックしてから「Getter and Setter」をクリックします。次に、Ctrlキーを押しながら、ゲッターとセッターを作成するフィールドをクリックし、[OK]をクリックします。

32
Michael Jarvis

ゲッターセッターを作成するためのショートカットはAlt+Insert Intellijで。

18
Nilesh

IntelliJでこれを行う方法はわかりませんが、Javaでこれらの種類のものを非常にスムーズにするフレームワークにリンクします:Project Lombok

コードを例にとると、次のようになります。

public class Person {
    @Setter
    @Getter
    String firstName;
    String lastName;
}

それを修正するintellijのプラグインがあり、迷惑な警告も表示されません。

http://projectlombok.org/

6
Vegard

このプラグインは役立つかもしれません GenerateAllSetter

押す CTRL + ENTER使用したい場所で、セッター呼び出しを生成します。

5
Radouane ROUFID

ここに私のプラグインがあります genSets

Foo foo = new Foo();

このようなコード

foo.allSet

生成します

foo.setName();
foo.setAge();
foo.setBar();
foo.setTest();
foo.setLike();
4
yoke x

_Michael Jarvis_回答の続き:

だから私はIntelliJ IDEA 2018.1.4(Community Edition)にいます。_right-click_または_ALT + Insert_を使用するには、最初にすべてのフィールドを選択することが重要であることに気付きました。メニュープロパティ(getterおよびsetter)

enter image description here

1
Vishrant