1

私は最近、Lombok を使用してコードのボイラープレートを削減する方法を確認する実験を行いました。

問題: IntelliJ IDEA で Lombok アノテーションを使用してビルダーを使用して単純なデータ クラスを作成する場合、フィールドを右クリックして [ここまでのデータ フローを分析] を選択できません。

これは、最新の IntelliJ Lombok プラグインを使用しています。IntelliJ アルティメット 2019.2.3。

これに対する修正はありますか、それとも単にサポートされていませんか?

例 1 - ロンボクなし:

public class Person {

    private String name;
    private int age;

    private Person() {

    }

    public Person(Builder builder) {
        name = builder.name;
        age = builder.age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public static class Builder {
        private String name;
        private int age;

        public Builder name(String val) {
            this.name = val;
            return this;
        }

        public Builder age(int val) {
            this.age = val;
            return this;
        }

        public Person build() {
            return new Person(this);
        }
    }
}
public class Main {

    public static void main(String[] args) {
        Person person = new Person.Builder().name("tom").age(3).build();
    }
}

上記のコードで、"name" 変数を右クリックして [ここまでデータフローを分析] を選択すると、データフローが表示されます。スクリーンショットに示すように: ここに画像の説明を入力

例 2 - ロンボクの場合:

import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Builder
@Getter
public class Person {
    private String name;
    private int age;
}
public class Main {
    public static void main(String[] args) {
        Person person = Person.builder().name("tom").age(3).build();
    }
}

上記のコード例では、名前フィールドで [ここまでのデータ フローを分析] を選択すると、変数名が表示されますが、スクリーンショットに示すように展開するツリーはありません。ここに画像の説明を入力

4

1 に答える 1