2013-05-22 3 views
10

Codice rientri di Visual Studio all'interno dello spazio dei nomi. Questo può essere evitato quando si disabilita il rientro globale, che non è quello che voglio. In tutti gli altri casi, l'indentazione va bene, semplicemente non mi piace il fatto che tutto il codice sia di un livello - questo mi fa sembrare brutto.Rientro spazio dei nomi in Visual Studio con C#

namespace X 
{ 
    public class A 
    {} 
} 

preferirei così:

namespace X 
{ 
public class A 
{ 

} 
} 

In C++, c'è una bella soluzione, come spiegato here:

namespace X 
{; // the ; after opening brace makes visual studio not indent the class below. 

class A 
{}; 

} 

Ma in C#, uno spazio dei nomi non può contenere direttamente campi in modo questo non funziona

Come posso impedire a Visual Studio di rientrare nello spazio dei nomi senza disattivare globalmente il rientro?

Aggiornamento Visual Studio 2013 comportamento C++ è cambiato

Tools->Options->C/C++->Formatting->Indentation: [ ] Indent namespace contents 

consente mia formattazione preferita, mentre il {; il trucco non funziona più. Ma nessun cambiamento per C# che ho potuto trovare.

+0

Select tutto il codice all'interno di parentesi graffe dei nomi e premere 'Shift + TAB'. Lavoro fatto! :-) – Belogix

+0

Che non funzionerà durante la formattazione del documento. – Gorgsenegger

+3

scherzavo/ero sarcastico! Questa sembra una domanda strana in quanto non ho MAI funzionato in nessun posto che accetti questo formato di codice! La maggior parte dei monitor moderni sono di ampio schermo e in realtà non farebbero molta differenza con una scheda principale o no! – Belogix

risposta

7
  1. Editor di testo → C# → Tabs → rientri - Impostare su "Block"
  2. Editor di testo → C# → Formattazione → Generale - Spegnere ogni casella di controllo dicendo "automaticamente formattare ..."
+1

Spiega quali sono le caselle di controllo, anziché "primi due". Sarebbe d'aiuto nel caso in cui VS modificasse le sue finestre di dialogo delle impostazioni. E possibilmente rimuovere le schede nel secondo, è fuorviante. – Jarekczek