在代码编辑器中折叠If-Then-Else语句(Delphi 2007)

在代码编辑器中折叠If-Then-Else语句(Delphi 2007),delphi,ide,plugins,folding,Delphi,Ide,Plugins,Folding,每隔一段时间,我会编辑一些长对if-then-else语句(或者更糟糕的是,嵌套的if-then-else语句),比如: if A < B then begin DoSomething; DoSomethingElse; {...and more statements going on and on and on...} FinallyWrapUpThisBit; end else begin DoThis; Do

每隔一段时间,我会编辑一些长对if-then-else语句(或者更糟糕的是,嵌套的if-then-else语句),比如:

  if A < B then 
  begin
    DoSomething; 
    DoSomethingElse;
    {...and more statements going on and on and on...}
    FinallyWrapUpThisBit;
  end 
  else 
  begin
    DoThis;
    DoThat;
    {...and more statements going on and on and on...}
    FinallyWrapUpThisBit;
  end;
如果A
…我发现自己想要“折叠”第一个开始-结束对,以显示较低的“其他”部分(通常是因为我指的是if-then语句上方的某个部分。也许它只会说“开始…”,并在它的左侧有[+}符号以再次展开它

我已经探索了IDE中的“折叠”功能,但似乎没有一个命令可以做到这一点。我的旧D6的CodeRush似乎做到了这一点,但我可以想象一些事情。(我有一个非常活跃的想象力…)


像Castalia(或其他一些)这样的IDE插件可以做到这一点吗?

使用纯Delphi开箱即用,您必须用

  {$region 'begin...end'}
  .... 
  {$endregion}
这可以通过代码模板完成


我记得Castalia提供了漂亮的彩色代码块可视化(begin..end),但我不记得它是否是可折叠的。

有了现成的纯Delphi,您必须用

  {$region 'begin...end'}
  .... 
  {$endregion}
这可以通过代码模板完成


我记得Castalia对代码块进行了漂亮的彩色可视化(begin..end)但是我不记得它是否是可折叠的。

使用重构工具将条件分支的代码移动到单独的函数中。这样您就不需要折叠任何东西。您可能还会发现,您可以合并两个分支共有的代码,例如调用
finallyrapphisbit

使用重构工具移动将条件分支的代码合并到单独的函数中。这样您就不需要折叠任何东西。您可能还会发现,您可以合并两个分支共有的代码,例如对
finallyrapphisbit

的调用。这是一个安装到Delphi中并将开始/结束p着色的向导airs,使代码更容易理解。它并不完全进行代码折叠,因此您需要使用{$REGION}{$ENDREGION}标签。

这里的另一个大助手是。它是一个安装到Delphi中的向导,可以为开始/结束对着色,使代码更容易理解。它并不完全执行代码折叠,因为您需要使用{$REGION}{$ENDREGION}标签。

@François:当你的答案被发布时,我正在键入相同的答案。@François:当你的答案被发布时,我正在键入相同的答案。请参见好的观点。出于演示目的,尽管在合并点上,我可能最终应该调用后一个调用Rapputhatbit.。-)谢谢你的回复。观点很好。出于演示的目的,虽然在合并点上,我可能最终应该给后者打电话。;-)谢谢你的回复。