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

时间:2009-04-07 01:34:00

标签: 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;
    DoThat;
    {...and more statements going on and on and on...}
    FinallyWrapUpThisBit;
  end;

...而且我发现自己想要“崩溃”第一个开始 - 结束对,以提出较低的“其他”部分(通常是因为我指的是if-then statemnent之上的东西。也许是这样的只会说“开始......”并在其左侧标记[+}以再次展开它。

我已经在IDE中探索了“折叠”功能,但是没有一个命令似乎这样做。看起来我的旧D6的CodeRush做到了这一点,但我可以想象一下。 (我的想象力非常活跃......)。

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

3 个答案:

答案 0 :(得分:7)

使用简单的Delphi开箱即用,你必须用你的开头...结束

  {$region 'begin...end'}
  .... 
  {$endregion}

可以通过代码模板完成......

我记得Castalia有很好的彩色可视化代码块(begin..end),但我不记得它是否可以折叠。

答案 1 :(得分:7)

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

答案 2 :(得分:1)

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