delphi将自定义文件编辑器集成到IDE中

时间:2015-04-16 12:56:21

标签: delphi ide integration

我已经开发了一个自定义文件类型,以及一个自定义编辑器(基本上是一个附有几个数据页面的树和一些额外的按钮)。好吧,我可以独立运行它,这很好,甚至可以将它添加到工具菜单中,但我想将它集成到Delphi IDE中,以便我的自定义编辑器(或类似的新版本)出现在IDE中,而是像DFM文件有一个自定义编辑器。我可以在Delphi IDE中找到对大多数扩展的引用,但不是这个。任何指导手?请注意,这不是属性或组件编辑器(文件类型与其中任何一个无关),也不仅仅是文本文件的语法高亮。

2 个答案:

答案 0 :(得分:4)

AFAIK目前无法将自定义编辑器可靠地集成到Delphi IDE中。所需的API根本不存在。请参阅QC89028 Custom Module support

在Delphi 2010和XE测试期间,我花了大部分业余时间尝试集成资源编辑器。尽管这项工作得到了Embarcadero的正式祝福,并得到了IDE工程师的一些半心半意的支持,但我从来没有能够让他们兑现承诺并展示模块API。我最终放弃了这个项目。

更新:我现在已经检查过我的旧通信,但事实证明问题的一部分是IOTAModuleCreator(用于实现自定义文件类型的File | New)和IOTAEditorContent(用于向/从自定义模块传输数据)仅支持文本数据。二进制数据被破坏了。

答案 1 :(得分:1)

您可以 通过使用ToolsAPI的IDE插件执行此操作(请参阅IDE的源文件夹中的ToolsAPI.pas(例如Program Files (x86)\Embarcadero\Studio\source\ToolsAPI\ToolsAPI.pas)。

有关编写插件的信息,请参阅David G Hoyle's excellent blog。一旦你了解了基础知识 - 即,写一个'向导'并让它做某事 - 你需要努力整合你的编辑器。

我从未这样做过,所以我无法保证这是可能的。但是,一些看起来值得研究和实施的界面是INTACustomEditorView,它代表了一个视图' (该文件打开时的文件选项卡 - 认为代码编辑器,欢迎视图,类型库编辑器等)和IOTAEditorViewServices,以注册您的自定义视图。我不知道你如何将视图类型与文件类型相关联,抱歉 - 可能与个性界面有关。您可能还对INTACustomEditorSubView感兴趣,这是在文件底部创建选项卡的原因。

祝你好运,如果你找到解决方案,请写在这里,以便其他人也可以学习!