Faktor-IPS 代码生成器删除注释

Annotations are removed by Faktor-IPS Code Generator

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

     * 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 的代码生成器删除了。

我知道要在 class 注释 ("@implements a.b.c.MyInterface") 中使用的特殊标签,以保持 class 实现接口 a.b.c.MyInterface -注释是否有类似的东西,尤其是在生成的方法上?

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',您手动放置的任何“@Override”注释都不会被生成器删除。