Delphi自动格式化源会破坏匿名程序

5 delphi formatting delphi-xe

昨天我在Delphi中发现了Format Source功能,它为我节省了很多时间.

但是,我发现它破坏了匿名程序的布局.是否有可以改善此结果的设置?

例如,如果我有以下代码:

procedure TServerThread.cbUpdateStreamProgBar(Precentage: Integer);
begin
  Synchronize(
    procedure
    begin
      FrmMain.StreamProgressBar.StepBy(Precentage);
    end);
end;
Run Code Online (Sandbox Code Playgroud)

在我自动格式化源代码后,它折叠如下:

procedure TServerThread.cbUpdateStreamProgBar(Precentage: Integer);
begin
  Synchronize( procedure begin FrmMain.StreamProgressBar.StepBy
    (Precentage); end);
end;
Run Code Online (Sandbox Code Playgroud)

我怎么能避免这个?

LU *_* RD 2

您必须升级到较新版本的 Delphi,如评论中所述。XE2 中的自动源格式化程序适用于匿名方法。

作为替代方案,您可以尝试实验性 GExperts IDE 插件。如果格式不正确,可以使用源代码添加您自己的样式。

也可以看看Delphi code formatter


更新一下,想想,有一个解决方法。虽然有点乏味。通过选择源的部分内容,只有选择的内容才会通过按ctrl+进行格式化D