4

多年前,我编写了一个代码模板,它采用一些简单的参数(点)并生成了一个类骨架。由于某些方法体中包含代码,因此我无法调用 InvokeClassCompletion 而只是将实现与声明放在一起(用户必须移动它们)。

我突然想到我可以编写一个代码模板脚本引擎来将这些方法插入到正确的位置,但是我看不到我应该如何导航文件。在 ToolsAPI.pas 中有 IOTAEditReader 和 IOTAEditWriter 的声明,但我猜缺少一个步骤 - 当然我不需要手动解析 Delphi 代码只是为了找到实现部分?

有没有人有这方面的经验?

4

2 回答 2

5

IDE 中有很多解析器,但没有一个可用于 IDE 插件 (ToolsAPI)。因此,您必须编写自己的解析器或使用现有的解析器,例如http://delphiblog.twodesk.com/using-the-castalia-delphi-parser

于 2012-06-15T13:39:34.247 回答
0

您可能会发现GExperts或 CNPack 在其编辑器向导之一中包含了您需要的几乎所有代码。

如果不是,那么这两个是我所知道的编写 IDE 插件的最佳参考。至于编写解析器,请参阅 Andreas 的回答。

如果您只是想要更好的代码模板,您可以考虑购买 Castalia,因为它比内置的 delphi IDE 插件功能具有改进的代码模板功能。Castalia 内部使用了 andreas 提到的 Castalia delphi 解析器。这是相当不错。

于 2012-06-16T00:59:55.400 回答