web-dev-qa-db-fra.com

Comment désactiver la mise en forme automatique dans VS2013 pour C ++?

VS2013 a ajouté le formatage automatique pour C++. Mon opinion personnelle sur le formatage automatique est que c'est finalement dangereux pour les développeurs mais je dois accepter que tout le monde n'est pas d'accord. Ce qui me dérange, c'est que je n'arrive pas à désactiver complètement le formatage automatique. J'ai décoché toutes les cases sous Outils-> Éditeur de texte-> C/C++ -> Formatage-> Général quand je tape:

void f ()

VS2013 le remplace par

void f()

Ce n'est pas la norme de code dans ce projet spécifique, ce qui signifie que je dois revenir en arrière et insérer un espace. Il y a d'autres exemples où je dois lutter contre les VS.

Je ne veux pas modifier les paramètres d'espacement car

  1. Je travaille sur plusieurs projets avec différentes normes de code
  2. Je ne crois pas au formatage automatique, donc je veux juste qu'il m'écarte

Je veux juste que VS ne modifie pas mon code automatiquement.

PS. Je ne suis pas contre le fait que VS puisse formater le code mais je veux l'invoquer manuellement

Vous pouvez désactiver la mise en forme automatique du code C/C++/C # en accédant à la boîte de dialogue Options à partir des outils , en sélectionnant le Text Editor → C / C++ / C# → Formatting → General, et en décochant toutes les cases. Vous pourrez toujours formater manuellement lorsque tous les paramètres de mise en forme automatique sont désactivés.

enter image description here

37
Jennifer Leaf

Je sais que ce n'est pas exactement la réponse que vous recherchez, mais vous pouvez conserver cette mise en forme void f () si vous allez dans Outils> Options> Éditeur de texte> C/C++> Formatage> Espacement et sous - Espacement des parenthèses de fonction vous cochez l'option Insérez un espace entre les noms de fonction et les parenthèses ouvrantes de la liste d'arguments.

8
Marius Bancila

J'ai également eu ce problème et décocher toutes les cases à cocher dans les options de formatage n'a pas aidé.

Il s'est avéré que cela était dû à une option du plugin "Visual Assist X" de Whole Tomato Software.

Dans mon cas, ce problème pourrait être résolu en allant dans "Options de Visual Assist" -> "Corrections" et en décochant la case "Format après le collage".

6
Gerhard Wonner

N'oubliez pas que le resharper peut également remplacer les paramètres de retrait/formatage. Vous pouvez désactiver cela en faisant cela

ReSharper -> Options -> Environnement -> Editeur -> Comportement de l'éditeur -> Formatage automatique à l'accolade fermante (décochez-la).

enter image description here

3
Varun Sharma

C'est un bogue dans la version bêta de VS 2013 qui ne peut pas être complètement désactivé, voir le problème soumis par FuleSnabel: http://connect.Microsoft.com/VisualStudio/feedback/details/797716/turning-off-auto-formatting -pour-vs2013-c-seulement-semble-désactiver-partiellement-formatage automatique . Quelques solutions possibles:

  1. Si vous jetez un œil à certains projets qui ont un style différent/bizarre: si une mise en forme automatique indésirable se produit, vous pouvez effectuer une étape d'annulation, cela ne devrait annuler que la partie de mise en forme automatique de l'opération et non votre contribution. Heureusement, ces deux (ou parfois plusieurs étapes de formatage automatique) ne sont pas regroupées dans une seule commande probablement pour cette raison exacte: vous pouvez revenir en arrière et la remplacer. C'est ennuyeux si cela se produit tout le temps. Vous pouvez configurer le comportement pour qu'il corresponde à votre style, mais vous dites que vous avez un projet avec différents styles de code.
  2. Outils/Paramètres d'importation et d'exportation ... - vous pouvez exporter les paramètres spécifiques pour un certain projet, puis l'importer plus tard. Cela permettra d'économiser .vssettings Fichier au format XML. S'il s'agit uniquement d'un type de fichier spécifique, cela peut ne prendre que quelques kilo-octets. Malheureusement, cela nécessite des étapes manuelles. Le mieux serait que ces paramètres puissent être remplacés par le fichier de configuration de la solution ou même le fichier de configuration du projet, pourraient en faire partie.
  3. Notez que ce deuxième point est problématique si vous travaillez vraiment en parallèle dans vos projets avec Visual Studios simultanément ouvert. Dans ce cas, ces paramètres seront finalement enregistrés, ce que la dernière instance VS fermée avait, je pense.

La sauvegarde de la mise en forme automatique différente pour les solutions peut être une demande de fonctionnalité pour la prochaine version (certainement pas pour VS 2013). Ce que je rencontre généralement, ce sont les différences de comportement d'indentation tab/espace, c'est la différence la plus courante dans les styles de projet. L'indentation peut également être configurée individuellement pour la plupart des types de fichiers, mais comme dans votre cas, les projets peuvent différer, puis cela devient ennuyeux.

3
Csaba Toth

Pour désactiver la complétion automatique de l'accolade, accédez à:

Outils> Options> Éditeur de texte> Toutes les langues> Général> Achèvement automatique de l'accolade

... puis décochez "Achèvement automatique de l'accolade".

1
samraat55

Aller à:

Outils-> Options-> Éditeur de texte-> C/C++ -> Formatage-> Espacement

Désélectionnez ou cochez ensuite les cases correspondant au type de code que vous écrivez.

1
Eugene