2012-10-26 14 views
8

Eventuali duplicati:
How to force indentation of C# conditional directives?
Can visual studio automatically indent/format preprocessing directives?Come rientrare le direttive #if nel codice?

Nel seguente codice di esempio esiste una direttiva #if a meno di notare la mancanza di rientro:

   else 
       { 
#if DEBUG 
    Debug.Print(ex.Message); 
#endif      
        return null; 
       } 

So che questo è probabilmente così per alcuni pura pratica di sviluppo, ma onestamente in VS.NET non mi interessa e preferisco che si allinei con il mio codice. C'è un modo per consentire alle direttive # di rientrare automaticamente in linea con il resto del codice in VS.NET?

Grazie!

+0

Possibile duplicato: http://stackoverflow.com/questions/10548319/can-visual-studio-automatically-indent-format-preprocessing-directives, http://stackoverflow.com/questions/1321228/how-to- force-indentation-of-c-sharp-condizionale-direttive –

+1

Si dovrebbe anche considerare l'uso del ConditionalAttribute (http://stackoverflow.com/questions/3786827/alternatives-to-conditional-compilation-in-c-sharp) – Surfbutler

risposta

2

Ho provato a cercare qualcosa qui:

Opzione -> Editor di testo -> C#

ma purtroppo sembra che VisualStudio non ha qualsiasi cosa costruita in cui permetterti di indentare le direttive del preprocessore in quel modo. Comunque su Google ho trovato this answer e si consiglia di usare StyleCop. Spero che questo ti aiuti.

2

Non so nulla, ma i #pragma non dovrebbero essere rientrati comunque, poiché non sono interessati dal codice. Va bene indentare il debug.Print, naturalmente.

+5

I non pensare che il rientro influenzi alcun codice in C#. È solo per la leggibilità. – rizalp1

+2

concordato. Intendevo che i pragma non sono influenzati da precedenti righe di codice normale, quindi non dovrebbero essere indentati come se lo fossero. – Surfbutler

3

Non sono sicuro che lo si possa fare con Visual Studio in modo nativo. Potrebbe essere necessario utilizzare un plug-in come StyleCop. Vedi http://stylecop.codeplex.com/

Capisco perché si vorrebbe il rientro - perché le direttive condizionali sembrano attualmente piuttosto disordinate. Tuttavia, con il rientro attuale, il vantaggio è che può essere facilmente visto da qualcuno che sta leggendo il tuo codice. Dal momento che le direttive condizionali possono modificare il flusso del tuo codice in larga misura, potrebbe essere ok come lo è ora. In caso contrario, sono disponibili le opzioni del plugin :)

Problemi correlati