2010-02-08 7 views
15

Je n'ai jamais vraiment été un grand fan de la façon dont la plupart des éditeurs traitent les espaces de noms. Ils vous obligent toujours à ajouter niveau d'indentation.Comment faire pour que VS 2008 cesse de forcer l'indentation sur les espaces de noms?

Par exemple, j'ai beaucoup de code dans une page que je préfère bien plutôt formaté comme

namespace mycode{ 

class myclass{ 
    void function(){ 
    foo(); 
    } 
    void foo(){ 
    bar(); 
    } 
    void bar(){ 
    //code.. 
    } 

} 

} 

et non quelque chose comme

namespace mycode{ 

    class myclass{ 
    void function(){ 
     foo(); 
    } 
    void foo(){ 
     bar(); 
    } 
    void bar(){ 
     //code.. 
    } 

    } 

} 

Honnêtement, je ne même pas vraiment comme la classe étant indentée la plupart du temps parce que j'ai seulement 1 classe par fichier. Et ça n'a pas l'air aussi mauvais ici, mais quand vous obtenez une tonne de code et beaucoup d'étendues, vous pouvez facilement avoir une indentation qui vous force à quitter l'écran, et en plus je n'utilise que des onglets à 2 espaces comme est utilisé par nous.

Quoi qu'il en soit, est-il possible d'empêcher Visual Studio d'indenter les espaces de noms comme ça?

+0

Je pense que vous pouvez éviter cela avec ReSharper, une solution très coûteuse à ce qui devrait être un problème trivial cependant. :) – Skurmedel

+0

beurk, mise en forme de style Java;) –

+0

Je ne comprends pas .. Je ne sais pas Java lol. si vous parlez de 'void bar() {' tout sur une ligne, alors c'est comme ça que j'écris naturellement du code depuis que j'ai appris C .. mais VS le change gentiment pour 'void bar() \ n {' pour moi .. – Earlz

Répondre

5

Il est un hack, mais voilà:

namespace mycode{ 
#if 0 
} 
#endif 

class myclass{ 
    ... 
+8

J'aurais dû ajouter "sans vraiment mauvais hacks" à ma question :) – Earlz

+0

Heh ... c'est plutôt bien. – AdamBT

+0

Cela fonctionne avec Visual Studio 2012, mais pas avec Visual Studio 2015. Avec VS 2015, il considère que "#if 0" est une erreur de syntaxe. Passer à "#if false" résout cela, mais l'éditeur ne se laisse plus tromper, ce qui vous ramène au problème de l'indentation du contenu de l'espace de noms. Zut. – RenniePet