多年前,我编写了一个代码模板,它采用了一些简单的参数(点)并生成了一个类骨架。由于某些方法体中有代码,我无法调用InvokeClassCompletion,只是将实现放在声明中(用户必须移动它们)。
我想到我可以编写一个代码模板脚本引擎来将这些方法插入到正确的位置,但我看不出我应该如何导航文件。在ToolsAPI.pas中有IOTAEditReader和IOTAEditWriter的声明,但我猜测有一个步骤缺失 - 当然我不需要手动解析Delphi代码只是为了找到实现部分?
有没有人有经验呢?
答案 0 :(得分:5)
IDE中有很多解析器,但没有一个可用于IDE插件(ToolsAPI)。因此,您必须编写自己的解析器或使用现有的解析器,如http://delphiblog.twodesk.com/using-the-castalia-delphi-parser
答案 1 :(得分:0)
您可能会发现GExperts或CNPack在其编辑向导中包含了您需要的几乎所有代码。
如果没有,那么,这两个是我所知道的编写IDE插件的最佳参考。至于编写解析器,请参阅Andreas的回答。
如果您只想要更好的代码模板,可以考虑购买Castalia,因为它具有内置delphi IDE插件功能的improved code template功能。 Castalia内部使用了andreas提到的Castalia delphi解析器。这很好。