2010-03-29 16 views
6

Come sto iniziando a mettere più tracce nel mio codice, mi sto rendendo conto che aggiunge un sacco di confusione. So che Visual Studio ti permette di nascondere e rivelare il codice, tuttavia, mi piacerebbe essere in grado di raggruppare il codice nel codice di "tracciamento" e quindi nasconderlo e rivelarlo a volontà mentre sto leggendo il codice. Suppongo che potrebbe farlo sia per file o per classe o per funzione.Come posso nascondere il codice di traccia in Visual Studio IDE C#?

C'è un modo per farlo? Cosa fate ragazzi?

Aggiungendo qualche chiarimento

La pelle caratteristica corrente tipo di ti permette di fare questo, tranne che quando il codice è nascosto, non si può dire se il suo tracciato o no. Non è inoltre possibile pronunciare "nascondi tutto il codice di tracciamento" e "rivela tutto il codice di tracciamento", utile quando si legge una funzione a seconda di cosa si sta tentando di fare.

risposta

0

Avete considerato #region?

int x = 3; 
    x++; 

#region Trace 
    // ... 
#endregion 

    x += 2; 

VS consentirà automaticamente di espandere o nascondere la regione.

+0

Come nasconderei tutte le regioni di traccia in una classe o un metodo? – Mark

+0

Creare una macro VS per nascondere/mostrare le regioni corrispondenti lo farebbe – CResults

+0

Anche se non mi piace, ho finito con l'usare le regioni, quindi segnalo come risposta. – Mark

1

Sconsiglierei di nasconderlo. Se c'è codice di codice che sta arrivando allo stadio in cui deve essere nascosto in modo da poter vedere il codice "reale", allora è meglio trovare un modo migliore per separare le preoccupazioni.

Questo è spesso vero per il codice di traccia/debug. Qualcosa che ho guardato di recente è stato quello di utilizzare un framework AOP per iniettare dichiarazioni di debug in altre classi. Date un'occhiata a PostSharp, The example dimostra come fare esattamente questo.

+0

L'AOP è diventata una tecnologia ampiamente utilizzata per diventare prontamente disponibile e affidabile? C'è molto scritto su di esso ma ad esempio non viene costruito nel framework .NET. Suppongo che non sia ancora abbastanza maturo. Inoltre, che dire nella traccia del metodo (vale a dire non solo l'entrata del metodo e l'uscita del metodo)? – Mark

+0

Ci sono diverse librerie che ti permettono di fare questo genere di cose per .NET. Non viene spedito come parte del framework, ma non è necessariamente un motivo per non usarlo. Non penso che AOP sia un proiettile d'argento per questo genere di cose, ma penso che solo "nascondere" il brutto codice sia decisamente l'approccio sbagliato. – TarkaDaal

+0

Per quanto riguarda la tracciatura del metodo, direi che se i tuoi metodi sono abbastanza lunghi da richiederlo, stanno diventando troppo lunghi. – TarkaDaal

Problemi correlati