我正在寻找一种工具,可以让我:
使用可替换字符串定义代码模板。示例 - <NAMESPACE>
可以替换:
jclass pJNIActivityClass = pJNIEnv->FindClass("<NAMESPACE>");
根据正则表达式自动执行代码段插入。示例 - 将在// ##:
处插入新代码public void onCreate ( Bundle savedInstanceState ){
super.onCreate ( savedInstanceState ) ;
//##
我发现的现有工具是特定于语言的。我真的不需要该工具来理解特定的语言,尽管如果能解析XML会使生活更轻松。
对于某些背景。我正在一个闭源应用程序导出eclipse或visual studio项目(android或windows)的环境中工作。此导出的代码始终与项目命名空间的异常相同。
这里的想法是能够在这些股票出口项目上运行工具,以自动执行常见的额外功能。
答案 0 :(得分:1)
对于FOSS解决方案,您应该查看Eclipse Foundation的Acceleo。它使用UML之类的语言作为输入,并允许您为任何基于文本的语言生成输出。它在大小和功能方面可能有点沉重,它需要安装Eclipse,但它非常擅长代码生成。它还可以很好地处理大型复杂的模板源,并提供您希望在IDE中具有的功能类型。我只使用旧版本,但我的经验很好。
如果您无法找到FOSS解决方案并且可以接受商业解决方案,我建议EntiPro。我使用它已经有一段时间了,但我对它的体验是非常积极的。它功能强大且灵活,似乎符合您在问题中列出的要求。单座开发人员许可证的价格也只有40美元。
如果您无法找到FOSS解决方案或者不想在EntiPro上丢弃$ 40,您可能需要自己实施解决方案。如果情况确实如此,我高度建议使用Terrance Parr的String Template Engine。
答案 1 :(得分:0)
Telosys 是您应尝试使用的开源代码生成器:http://www.telosys.org/
它使用基于Velocity的模板引擎,因此非常适合“具有可替换字符串的代码模板”的要求