我永远按Ctrl + S是一个相当矛盾的习惯。否定的一面是delphi在保存时删除了空函数/过程。
有没有办法阻止IDE在保存时用空体删除函数/过程?
答案 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中没有选项可以禁用此行为。