Domanda

Ogni tanto un po 'sto modificando alcune lungo paio di if-then-else (o peggio, annidati if-then-else), come, ad esempio, questo:

  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;

... e mi trovo a voler "collasso" la prima coppia inizio-end, per visualizzare la parte inferiore "altro" (di solito perché mi riferisco a qualcosa al di sopra del if-then statemnent. Forse è così che avrebbe solo dire "begin ..." e hanno [+} segno alla sinistra di esso per espandere di nuovo.

Ho esplorato le funzioni di "piega" nell'IDE, ma nessuno dei comandi sembrano fare questo. Sembra che la mia CodeRush per il mio vecchio D6 ha fatto questo, ma potrebbe essere immaginando le cose. (Ho una fantasia molto attiva ...).

Eseguire una delle IDE plug-in come Castalia (o qualche altro) fare questo?

È stato utile?

Soluzione

Con pianura Delphi fuori dalla scatola, si dovrebbe circondare il vostro inizio ... fine con

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

, che può essere fatto attraverso un modello di codice ...

Mi ricordo Castalia per la bella visualizzazione di colore di blocchi di codice (BEGIN..END), ma non mi ricordo se era pieghevole.

Altri suggerimenti

Utilizzare gli strumenti di refactoring per spostare il codice rami condizionali in funzioni distinte. Allora non avrete bisogno di piegare nulla. Si potrebbe anche scoprire che è possibile unire il codice che è comune ai due rami, come quella chiamata a FinallyWrapUpThisBit.

Un altro grande aiuto qui sarebbe CNPack . Si tratta di una procedura guidata che installa in Delphi e sarà colorare il vostro inizierà coppie / fine, rendendo molto più facile da seguire il codice. Essa non è esattamente fare raggruppamento del codice, per questo è necessario utilizzare il {$ REGIONE} {$ endRegion} tag.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top