2009-04-07 18 views
1

if-then-elseステートメントの長いペアを編集しています(または悪い場合はif-then-elseステートメントのネストされた) 、のような、たとえば、この:コードエディタ(Delphi 2007)の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; 

...と私は、私が参照していますので、通常より低い「他」の部分を(起動するには、自分が最初に始まるエンドペア「崩壊」したい見つけますそれは何とか「始まり」と言って、それを再び展開するために左にサインをしてもよいでしょう。

私は「折りたたみ」機能を探求しましたIDEでは、いいえコマンドのneはこれを行うようです。私の古いD6のコードラッシュはこれをしたようですが、私は物事を想像することができます。 (私は非常に積極的な想像力を持っています...)。

Castalia(またはその他のIDEプラグイン)のようなIDEプラグインはこれを行いますか?平野Delphiで

+0

http://stackoverflow.com/questions/475675 – mghie

答えて

7

箱から出して、あなたはコードテンプレートを介して行うことができます

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

であなたのBEGIN ... ENDを包囲しなければならない...

私はカスタリアを覚えていますコードブロックの素敵な色分けされた視覚化(begin..end)ですが、折り畳み可能かどうかはわかりません。

+0

@François:あなたの投稿時に同じ回答を入力していました。 –

+0

CastaliaはAFAIRを折りたたむコードはありません。 – dummzeuch

7

条件分岐のコードを別々の関数に移動するには、リファクタリングツールを使用します。その後、何かを折り畳む必要はありません。 FinallyWrapUpThisBitへの呼び出しなど、2つのブランチに共通するコードをマージすることもできます。

+0

良い点。私はおそらく、後者の呼び出しFinallyWrapUpTHATBitを呼び出していたはずですが、デモの目的では合併のポイントがあります。 ;-) 返信いただきありがとうございます。 – Jamo

1

もう1つ大きな助手はCNPackです。これはDelphiにインストールされ、最初と最後のペアを色付けするウィザードであり、コードに従うのがずっと簡単です。 {$ REGION} {$ ENDREGION}タグを使用する必要があるため、コードの折りたたみを正確に行うわけではありません。

関連する問題