标签: class-completion

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

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

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

    function TAaa.getAaa();

    程序TAaa.setAaa();

    程序TAaa.Baa();

    function TAaa.getCow();

    程序TAaa.setCow();

    程序TBbb.getAaa()

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

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

.

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

有没有工具可以做到这一点,还是需要深入到opentools API来完成这样的事情?


相关问题: Class Completion以什么顺序发布其结果?

ide delphi code-generation class-completion opentools

7
推荐指数
1
解决办法
1372
查看次数

Class Completion以什么顺序发布其结果?

示例:我创建一个新单元,按顺序使用构造函数,析构函数,方法1,方法2,方法3等几个方法声明一个类,然后按Ctrl-Shift-C.IDE会自动创建所有方法体,但是顺序是混合的,而不是在接口部分中声明的那样.

现在,这不是问题,但是有理由这样做.混合起来似乎比按声明的顺序进行组合要困难得多.

或者是否有一些规则是有道理的,我看不到?

ide delphi class-completion

4
推荐指数
1
解决办法
591
查看次数

Delphi:Codecompletion覆盖basemethods

在类声明中,您可以按Ctrl + Space来获取可以覆盖的基类中的虚拟方法列表.

不过,这份清单似乎非常有限.防爆.

 TMyBaseClass = class(TInterfacedObject)
 protected
   procedure mymethod; virtual;
 end;

 TMyClass = class(TMyBaseClass)
 protected
   {Ctrl+Space here...}
 end;
Run Code Online (Sandbox Code Playgroud)

在TMyClass中,我从TInterfacedObject和TObject获取方法,但不从TMyBaseClass获取方法.这是为什么?

-Vegar

编辑:忘了我的delphi版本......我正在使用2007.

delphi class-completion

1
推荐指数
1
解决办法
169
查看次数