如何避免 Rhapsody 代码生成中的隐式包含语句

How to avoid implicit include statements in Rhapsody code generation

我正在为 IBM Rational Rhapsody 中指定的接口创建代码。 Rhapsody 为我的界面中使用的其他数据类型隐式生成 include 语句。但我想对 include 语句有更多的控制,所以我在组件的源工件中将它们明确指定为文本元素。因此,我想阻止 Rhapsody 自己生成 include 语句。这可能吗?

如果可以的话,很可能是Properties。在功能框中单击属性并按 'include' 过滤以查看一些可能的候选对象。并不是所有的房产都描述了他们到底做了什么,祝你好运。

编辑:

我也花了一些时间查看属性,但没有找到您想要的。您似乎无法使用 Rhapsody 的基本版本执行此操作。 IBM 确实许可了一个插件来自定义代码生成,称为 Rules Composer(我认为);这几乎可以肯定地允许您自定义包含,但成本很高。

还有两种可能的方法。根据您自定义包含语句的方式,您可以编写一个简单的 shell 脚本,也许使用 sed,然后只需 运行 该脚本即可更新每次 Rhapsody 生成您的代码。

另一种方法是使用 Rhapsody API 创建一个 plugin/tool 来遍历所有界面并相应地更改源工件。我自己没有尝试过这种方法,但我知道我的同事已经使用 API 来做类似的事情。

最后,我找到了让 Rhapsody 产生所需输出的属性:GenerateImplicitDependencies 用于几个元素,GenerateDeclarationDependency 用于 Type 元素。禁用这些将避免生成隐式包含语句。