1

我需要注释 Faktor-IPS 生成的一些方法。最常见的情况是@Override-annotation,因为我有额外的接口或我实现的基类:

     * Gibt den Wert des Attributs beschreibung zurueck.
     * 
     * @generated
     */
    @IpsAttribute(name = "beschreibung", kind = AttributeKind.CHANGEABLE, valueSetKind = ValueSetKind.AllValues)
    @Override // <- manually added
    public String getBeschreibung() {
        return beschreibung;
    }

问题是,Faktor-IPS 的代码生成器删除了附加注释。

我知道在类注释(“@implements abcMyInterface”)中使用的特殊标签来保持类实现接口 abcMyInterface - 注释是否有类似的东西,尤其是在生成的方法上?

4

1 回答 1

1

Faktor-IPS 使用 Eclipse EMF 项目创建的 JMerge 工具来组合生成的和手写的代码。在https://www.faktorzehn.org/de/en/dokumentation/manuelle-anpassungen-des-generieten-codes/有一个(德语)描述您可以控制代码如何合并的方式。

要保留附加注释,同时仍让代码生成器更新其余代码,请添加 Javadoc 标记(在 Javadoc 中,不是注释,尽管也以“@”开头)“@customizedAnnotations ADDED”。

如果您想在许多地方添加某些注释,则该解决方法工作量太大,因此 Faktor-IPS 允许您定义永远不会在 .ipsproject 生成器设置 'retainAnnotations' 中删除的注释列表:只需添加那里的“覆盖”和您手动放置的任何“@Override”注释都不会被生成器删除。

于 2020-12-15T06:12:26.097 回答