Pourquoi est-ce que je continue à obtenir des onglets et des espaces mixtes dans une fenêtre de code Visual Studio 2010 C #?


87

Je viens de travailler sur un fichier C # (Global.asax.cs) dans une application Web depuis une heure environ, et on m'a montré l'invite "tabify" ou autre environ quatre fois. Chaque fois que je choisis de tabifier et d'enregistrer les fichiers, mais à un moment apparemment aléatoire plus tard, je suis à nouveau invité.

J'utilise ReSharper, mais cela ne se produit pas lorsque je code à la maison, en utilisant également ReSharper. Seulement au travail.


3
Votre paramètre de retrait de tabulation est-il défini de telle sorte que les espaces puissent être entièrement convertis en tabulations?
utilisateur

J'obtiens également ceci sur l'un de mes fichiers maintenant. Je l'ai une à deux fois par heure aujourd'hui. Même avant l'ajout du fichier au contrôle de code source.
sindre j

12
@LostHobbit C'est important parce qu'un dialogue ennuyeux n'arrête pas de surgir et d'interrompre mon flux.
ProfK

Réponses:


146

Utilisez-vous l'extension Productivity Power Tools VS 2010? Si tel est le cas, accédez à Tools-> Options-> et choisissez Productivity Power Tools. Ici, vous pouvez désactiver l'option de Fix Mixed Tabs. Cela désactivera cet avertissement.

Outils électriques pour Visual Studio 2010

Outils électriques pour Visual Studio 2012

Outils électriques pour Visual Studio 2013

Outils électriques pour Visual Studio 2015


20
Je préférerais garder l'avertissement et me débarrasser des onglets et des espaces mixtes à la place.
ProfK

2
@ProfK est-ce que le point aléatoire auquel vous êtes à nouveau invité se produit également après que quelqu'un d'autre a vérifié les modifications apportées à ce fichier (si vous utilisez le contrôle de code source)? Peut-être que vous et quelqu'un d'autre avez des espaces de tabulation définis différemment dans VS.
Justin Saraceno

7
Difficile de voir comment cela est productif. Désactivez les onglets avec Outils + Options, Éditeur de texte. Ils ont été utilisés au siècle précédent pour enregistrer des octets.
Hans Passant

6
@Hans, la productivité de l'utilisation des onglets n'est pas du tout pertinente ici.
ProfK

35
La productivité des onglets a été bien discutée et les onglets ont plus de mérite que la simple taille des données. Les onglets ont des largeurs configurables pour les personnes ayant des préférences d'indentation différentes travaillant sur le même projet. Si tout le monde configurait son VS pour utiliser différents nombres d'espaces au lieu d'onglets, le code deviendrait un désordre, mais si tout le monde utilise des onglets et configure la largeur de l'onglet en fonction de ses préférences visuelles, le code reste propre et tout le monde obtient son gâteau et le mange aussi. Quel est, encore une fois, l'avantage d'utiliser les espaces?
TheXenocide

60

Les onglets et espaces mixtes peuvent provenir des paramètres de votre éditeur de texte Visual Studio. Vous pouvez décider si vous souhaitez que Visual Studio insère des espaces ou des onglets ici:

Outils / Options / -> Éditeur de texte / Toutes les langues / onglets, sélectionnez l'option "Conserver les onglets".


6
C'est vraiment la bonne réponse à la question posée et au résultat souhaité par @ProfK.
Extracteur de réalité

11

Choisissez l'option "Untabify" car VS utilise par défaut des espaces, pas des tabulations. Si vous choisissez "Tabify" la prochaine fois que vous ajoutez une ligne, VS utilisera des espaces et vous verrez l'invite encore et encore.


9

Resharperutilise des paramètres d' onglet / d'espace séparés pour Visual Studio. Dans les Resharperoptions, cochez "Style général du formateur -> Comment s'aligner lorsque les onglets sont utilisés pour les retraits". Ce paramètre est utilisé lorsqueresharper formatage du code (tel que le refactoring, etc.) et défaut sur "User Spaces".

Aussi, dans le menu « Edition -> Avancé », il y a une option «Afficher les espaces» (Ctrl + E, S) qui peut être utile!


Bonne option (celle de View Whitespace)! +1
Ignacio Soler Garcia
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.