Visual Studio, parameters d’indentation par solution

Je travaille sur quelques choses différentes et certains tabs d’utilisation, certains utilisent 2 espaces pour les retraits, d’autres utilisateurs 4 espaces pour les retraits, etc.

L’option pour définir cela dans Visual Studio se trouve dans Outils-> Options-> Editeur de texte -> -> Onglets

Existe-t-il un moyen de remplacer ces parameters sur une base par solution?

Voici un moyen (certes novice) de réaliser ce que vous recherchez:

1) créer une macro qui modifie l’indentation ( source )

Sub Set-Indent(indent As integer) Dim props As EnvDTE.Properties = DTE.Properties("TextEditor", "C/C++") Dim ts As EnvDTE.Property = props.Item("TabSize") Dim ins As EnvDTE.Property = props.Item("IndentSize") ts.Value = indent ins.Value = indent End Sub 

2) Accrochez-le à votre chargement de solution: dans l’explorateur de macros, sélectionnez EnvironmentEvents , sélectionnez SolutionEvents dans la première liste déroulante, puis dans la seconde. Vous avez maintenant une macro qui se déclenchera chaque fois que vous ouvrez une solution. Il vous suffit de mapper vos solutions à l’indentation requirejse.

MISE À JOUR: VS 2017 prend en charge EditorConfig en mode natif: https://blogs.msdn.microsoft.com/dotnet/2016/12/15/code-style-configuration-in-the-vs2017-rc-update/

Dans VS 2010 et les versions ultérieures , il existe une extension qui définit l’indentation en fonction du fichier .editorconfig dans la racine de la solution / du projet:

http://visualstudiogallery.msdn.microsoft.com/c8bccfe2-650c-4b42-bc5c-845e21f96328

Il existe également une extension similaire pour le code Visual Studio .

Il y a aussi un autre complément appelé “Rebracer” maintenant … le lien est ici: http://visualstudiogallery.msdn.microsoft.com/410e9b9f-65f3-4495-b68e-15567e543c58

Depuis le site Web de l’éditeur de l’extension VS ( http://visualstudiogallery.msdn.microsoft.com/c8bccfe2-650c-4b42-bc5c-845e21f96328 ):

Le projet EditorConfig définit un format de fichier simple pour la configuration des options communes des éditeurs de texte, telles que les tailles d’indentation . Ces fichiers de configuration sont conçus pour être placés à côté du code source d’un projet, permettant aux éditeurs de texte d’utiliser les bonnes options fichier par fichier. Le projet EditorConfig fournit des plugins pour de nombreux éditeurs de texte courants, ce qui rend le format entièrement multi-plateforme.

(emphase le mien)

Full Disclosure: Je n’ai pas pu le tester personnellement (car ReSharper prend le relais).

VS2017 RC a ajouté le support pour le format .editorconfig.

Vous pouvez définir le paramètre Insérer des tabs / espaces avec props.Item("InsertTabs") = bool

Vérifiez ceci: https://github.com/jamesfoster/VS-Whitespace-Macros

UPDATE: semble que l’indentation n’est pas gérée par Resharper, donc cette réponse ne répond pas réellement à la question spécifique. Cependant, cela s’applique en termes généraux; C’est-à-dire “Visual Studio, parameters de solution par défaut” au cas où quelqu’un tomberait ici à la recherche de cela.


Si vous utilisez Resharper , vous pouvez enregistrer les parameters de formatage (en réalité, tous les parameters) pour la solution. Vous pouvez également spécifier si ce n’est que pour vous (c’est-à-dire non engagé dans le contrôle de code source) ou les parameters spécifiques à une solution partagée (c.-à-d. Valider le contrôle de source).

 Resharper > Options > Code Editing > C# (or whatever language) > Formatting Style > Braces Layout 

Ensuite, en bas de la fenêtre, sous Save To “Solution XYZ personal” (ou partagé, selon votre objective).

Cela crée un fichier XML YOURSOLUTION.sln.DotSettings.user avec des valeurs telles que:

 NEXT_LINE NEXT_LINE 

Paramètres d'aiguillage - Enregistrer pour solution uniquement

Donc, la solution acceptée dit “Vous avez juste besoin de mapper vos solutions à l’indentation requirejse”, ce qui est génial, sauf comment faites-vous cela? Après avoir perdu beaucoup de temps à essayer de comprendre cela, j’ai trouvé une méthode que je préfère ici . Cette méthode charge un nombre quelconque de parameters exportés pouvant être différents pour chaque solution. Les parameters peuvent inclure n’importe quoi, des retraits aux couleurs ou même la disposition des fenêtres (je pense).

  • Dans Visual Studio 2008, ouvrez Outils> Macros> Explorateur de macros
  • Double-cliquez sur MyMacros> Module1 (si vous n’avez pas Module1, cliquez avec le bouton droit sur MyMacros et choisissez «Nouveau module …» pour le créer).
  • Dans la fenêtre de l’explorateur de macros, double-cliquez sur “EnvironmentEvents” à gauche.
  • Dans la liste déroulante en haut à gauche, choisissez “SolutionEvents”.
  • Dans le menu déroulant en haut à droite, choisissez “Ouvert”.
  • Le code pour gérer l’événement SolutionEvents.Opened est automatiquement ajouté. Remplacez ce code par le suivant:

     Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened Dim item As ProjectItem = DTE.Solution.FindProjectItem("solution.vssettings") If Not item Is Nothing Then 'MsgBox("Uncomment this to see a message when settings are loaded") Dim name = item.FileNames(1) DTE.ExecuteCommand("Tools.ImportandExportSettings", "/import:""" & name & """") End If End Sub 
  • Enregistrez la macro.

  • Utilisez Outils> Options pour modifier votre interface utilisateur afin d’avoir les parameters de l’onglet et tout ce que vous souhaitez définir.
  • Outils> Paramètres d’importation et d’exportation …> Exporter les parameters d’environnement sélectionnés> Suivant
  • Pour simplement exporter les parameters de l’onglet, décochez “Tous les parameters”, puis cochez Options> Editeur de texte> C / C ++.
  • Cliquez sur Suivant, puis tapez «solution.vssettings» sous la rubrique «Que voulez-vous nommer votre fichier de parameters? et enregistrez le fichier là où vous avez une solution pour utiliser ces parameters.
  • Faites glisser solution.vssettings vers n’importe quel emplacement dans la fenêtre Explorateur de solutions.
  • Quittez Visual Studio et la prochaine fois que vous ouvrez une solution contenant solution.vssettings, il doit charger ces parameters.

Si la macro ne s’exécute pas, cela peut être dû à un correctif de sécurité MS. Sur cette base , ajoutez la chaîne suivante:

  

Sous la balise dans les trois fichiers suivants:

 "C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsmsvr.exe.config" "C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv.exe.config" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config" 

Assurez-vous de lancer l’éditeur que vous utilisez pour éditer ces fichiers avec des privilèges d’administrateur (cliquez avec le bouton droit de la souris sur Bloc-notes et choisissez “Exécuter en tant qu’administrateur”).

J’ai également trouvé un plug-in censé faire la même chose que la macro suggérée ci-dessus, mais pour une raison quelconque, il n’a rien fait après avoir lancé son programme d’installation.

clang-format fournit des options assez sophistiquées pour formater votre code source.

Le plug-in Visual Studio est assez rudimentaire, c’est-à-dire qu’il ne s’exécute pas automatiquement, mais il fait bien son travail (c’est-à-dire, invoqué manuellement).

http://llvm.org/builds/