Delphi-IDE:如何改变类完成的工作方式?

时间:2009-02-24 08:52:47

标签: delphi ide code-generation opentools class-completion

Delphi中的类完成节省了大量时间,但我还没有找到一种方法来定制它。

  1. 我想将一个属性的getter和setter组合在一起,而不是被整个单元抛出;接口部分是正确生成的,但如果将内容留给IDE,实现部分就会变得一团糟。我希望默认情况下按此方式排序方法:

      

    功能TAaa.getAaa();

         

    程序TAaa.setAaa();

         

    程序TAaa.Baa();

         

    function TAaa.getCow();

         

    程序TAaa.setCow();

         

    程序TBbb.getAaa()

  2. 我希望实现部分与接口的顺序相同;

  3. 我希望生成的方法的主体看起来像这样:

  4.  procedure TMyClass.MyProc;
     begin
       { TODO -oWouter -cimplement autogenerated stuff : implement Procedure MyProc() }
       raise Exception.create('procedure TMyClass.MyProc() is not yet implemented');
     end;
    

    是否有工具可以执行此操作,还是需要深入了解opentools API以完成此类操作?


    相关问题: In what order does Class Completion put its results?

2 个答案:

答案 0 :(得分:12)

  

问题1:我希望将属性的getter和setter组合在一起。

Modelmaker Code Explorer(MMX)有一个排序工具。该工具在接口和实现中对类成员进行排序。我正在使用的4.05版本支持您的排序。但是,Modelmaker网站包含page that shows the most up to date sorting functionality,看起来他们使用许多新选项扩展了排序功能。也许您可以使用最新的MMX工具对getter / setter方法进行分组。 方便的功能:

  • 在MMX类浏览器中拖放排序:将方法拖到新位置,模型制作者移动代码
  • 排序提示:MMX会通知您方法是否未根据您的默认排序模板进行排序
  

问题2:我希望实现部分与接口的顺序相同。

MMX排序功能可以做到这一点。执行排序后,接口和实现的顺序将相同。

  

问题3:我希望生成的方法的主体看起来像这样......

MMX [添加新方法]会自动为您方法的正文添加可自定义的代码存根。代码存根中支持参数,但我没有看到支持的参数列表。这是一个样本

程序TForm1.NewMethod;

开始

// TODO TForm1.NewMethod默认正文插入

端;

答案 1 :(得分:4)