一直按Ctrl+S是我的一个很矛盾的习惯。不利的一面是,delphi 在保存时会删除空函数/过程。
有没有办法防止 IDE 在保存时删除带有空主体的函数/过程?
根据 OP 请求从评论转换。我的评论对于答案来说太小了,所以我将添加一些可能对 OP 来说已经很明显的细节。
这仅发生在事件处理程序中¹。立即写下它们或用todo评论它们²
¹ 也就是说,事件处理程序是设计类的方法,它们由表单设计器创建、列出和删除(如果在保存或编译时发现为空) (这包括数据模块设计器和任何其他安装的自定义设计器)。授予您可能熟悉 C# 背景的代表。其他任何方式均受“人工”管理。
² TODO 项目(Ctrl+Shift+T在默认键绑定中)绝对比空白评论更好:
procedure TForm1.MagicButton1Click(Sender: TObject);
begin
{ TODO -ctomorrow : I'm going to write the code, I promise! }
end;
TAction
带有AutoCheck
set must(请参阅下面Rufo 爵士的评论以了解运行时的另一种可能性)将其OnExecute
分配为Enabled
. 在这种情况下,设计类中不可避免地会有这样的空白事件处理程序。例子:
procedure TMonitor.AutoCheckActionExecute(Sender: TObject);
begin
// dummy stub
{ DONE -crefactor : merge with other stub(s) }
end;
只需添加一个空评论,例如//
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;
有没有办法防止 IDE 在保存时删除带有空主体的函数/过程?
IDE 中没有选项可以禁用此行为。