如何扩展 Faktor-IPS 的代码生成以修改生成的代码

How do I extend the code generation of Faktor-IPS to modify generated Code

我需要修改Faktor-IPS生成的代码。我已经看到扩展 属性 "org.faktorips.devtools.core.artefactbuilderset" 并创建了一个扩展 StandardBuilderSet 的 class。

我创建了自己的构建器 (MetaattributPolicyCmptClassBuilder) 并通过将我的实现放在构建器映射中来扩展默认实现,如下所示:


    @Override
    protected LinkedHashMap<IBuilderKindId, IIpsArtefactBuilder> createBuilders() throws CoreException {
        LinkedHashMap<IBuilderKindId, IIpsArtefactBuilder> builders = super.createBuilders();
        
        builders.put(BuilderKindIds.POLICY_CMPT_TYPE_IMPLEMEMENTATION, new MetaattributPolicyCmptClassBuilder(false, this, getGeneratorModelContext(), getModelService()));
        
        return builders;
    }

    
}

我希望我的自定义代码(放在上面示例中的构建器列表中)被执行,但只有标准构建器集的代码被执行。有什么问题或还需要做些什么才能使其正常工作?

要让您的项目使用您的自定义构建器,请使用 XMl 标记而不是“org.faktorips.devtools.stdbuilder.ipsstdbuilderset”

在 .ipsproject 文件中设置构建器集 ID