我正在寻找可以让我:
使用可替换字符串定义代码模板。示例 -
<NAMESPACE>
将是可替换的:jclass pJNIActivityClass = pJNIEnv->FindClass("<NAMESPACE>");
根据正则表达式自动插入代码 fragment 。示例 - 新代码将插入到//##:
public void onCreate ( Bundle savedInstanceState ){ super.onCreate ( savedInstanceState ) ; //##
我发现的现有工具是特定于语言的。我真的不需要这个工具来理解特定的语言,尽管如果它可以解析 XML 会让生活更轻松。
一些背景。我在闭源应用程序导出 eclipse 或 visual studio 项目(android 或 windows)的环境中工作。此导出代码始终相同,但项目命名空间除外。
这里的想法是能够在这些库存导出项目上运行一个工具,以自动执行常见的额外功能。
最佳答案
对于 FOSS 解决方案,您应该查看 Acceleo来自 Eclipse 基金会。它使用像 UML 这样的语言作为输入,并允许您为任何基于文本的语言生成输出。它在大小和功能方面可能有点笨重,并且需要安装 Eclipse,但它非常擅长代码生成。它还可以很好地处理大型和复杂的模板源,并提供您期望在 IDE 中拥有的功能类型。我只使用过旧版本,但我对它的体验很好。
如果您找不到 FOSS 解决方案并且可以接受商业解决方案,我建议 EntiPro .我已经有一段时间没有使用它了,但我对它的体验非常是积极的。它功能强大且灵活,似乎可以满足您在问题中概述的要求。它也很便宜,单席开发者许可证只需 40 美元。
如果您找不到 FOSS 解决方案或不想花 40 美元购买 EntiPro,您可能只能自己实现解决方案。如果情况确实如此,我强烈建议使用 String Template Engine特伦斯·帕尔 (Terrance Parr)。
关于android - 从模板生成 C++、Java、XML 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876848/