防止在保存时删除带有空体的方法

时间:2012-11-23 07:18:45

标签: delphi ide delphi-7

我永远按Ctrl + S是一个相当矛盾的习惯。否定的一面是delphi在保存时删除了空函数/过程。

有没有办法阻止IDE在保存时用空体删除函数/过程?

3 个答案:

答案 0 :(得分:18)

根据OP请求从评论转换。我的评论太小了,无法回答,所以我要向OP添加一些可能已经很明显的细节。

  

仅在事件处理程序中发生这种情况¹。写下它们没有延迟或   用 todo ²

评论它们

¹也就是说,event handlers设计类的方法, {{3}创建,列出和删除它们(如果在保存或编译时被清空) } (这包括数据模块设计器和安装的任何其他自定义设计器)。授予你可能熟悉的C#背景的代理。任何其他方法都受“手动”管理。

²form designer(默认键绑定中的 Ctrl + Shift + T )绝对比空白评论更好:

procedure TForm1.MagicButton1Click(Sender: TObject);
begin
  { TODO -ctomorrow : I'm going to write the code, I promise! }
end;

可能的特殊情况

TAction AutoCheck设置必须(请参阅下面TODO items的评论,了解运行时的另一种可能性)并在其中分配OnExecute命令为Enabled。在这种情况下,设计类中不可避免地会有这样的空白事件处理程序。例如:

procedure TMonitor.AutoCheckActionExecute(Sender: TObject);
begin
  // dummy stub
  { DONE -crefactor : merge with other stub(s) }
end;

答案 1 :(得分:13)

只需添加//

等空注释即可
begin 
//
end;

另一种方法是将声明移至published part

type
  TForm5 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject); // will be removed if empty
  private
    { Private-Deklarationen }
  public
  published
    procedure Button2Click(Sender: TObject); // will not be removed if empty

    { Public-Deklarationen }
  end;

答案 2 :(得分:7)

  

有没有办法阻止IDE删除功能/   保存空体的程序?

IDE中没有选项可以禁用此行为。