Question

Je travaille sur plusieurs choses différentes et certaines utilisent des onglets, certaines utilisent 2 espaces pour les retraits, les autres utilisateurs 4 espaces pour les retraits, etc.

L'option permettant de définir cela dans Visual Studio se trouve dans Outils - > Options - > Editeur de texte - > < langage > - > onglets

Existe-t-il un moyen de remplacer ces paramètres sur une base par solution?

Était-ce utile?

La solution

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

1) créez 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) Déconnectez-le avec le chargement de votre solution: Dans l'explorateur de macros, choisissez EnvironmentEvents, sélectionnez SolutionEvents dans le premier menu déroulant, Opened dans le second. Vous avez maintenant une macro qui va se déclencher à chaque fois que vous ouvrez une solution. Il vous suffit de mapper vos solutions sur l'indentation requise.

Autres conseils

UPDATE: 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, une extension définit l'indentation en fonction du fichier .editorconfig de la solution / du projet. racine:

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

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

Il existe également un autre complément appelé & "Rebracer &"; maintenant ... le lien est ici: http://visualstudiogallery.msdn.microsoft .com / 410e9b9f-65f3-4495-b68e-15567e543c58

À partir de l'extension VS EditorConfig ( http: //visualstudiogallery.msdn. microsoft.com/c8bccfe2-650c-4b42-bc5c-845e21f96328 ) site Web:

  

Le projet EditorConfig définit un format de fichier simple pour la configuration.   options courantes de l'éditeur de texte telles que les tailles d'indentation . Celles-ci   les fichiers de configuration sont conçus pour être placés à côté de la source d'un projet   code, permettant aux éditeurs de texte d’utiliser les bonnes options fichier par fichier   base. Le projet EditorConfig fournit des plugins pour de nombreux textes courants   éditeurs, rendant le format entièrement multi-plateforme.

(c'est moi qui souligne)

Divulgation complète: Je n'ai pas été en mesure de le tester personnellement (car ReSharper prend le relais).

Le VS2017 RC a pris en charge le format .editorconfig.

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

Découvrez ceci: https://github.com/jamesfoster/VS-Whitespace-Macros

UPDATE: semble indiquer que l'indentation n'est pas gérée par Resharper. Cette réponse ne traite donc pas réellement la question spécifique. Cependant, cela s'applique en termes généraux; & "Visual Studio, par paramètres de solution &"; au cas où quelqu'un trébuche ici à la recherche de cela.

Si vous utilisez Resharper , vous pouvez enregistrer les paramètres de mise en forme (réellement, tous les paramètres) pour juste la solution. Vous pouvez en outre spécifier si vous ne souhaitez pas utiliser ces paramètres (c.-à-d. Non validés pour le contrôle de source) ou partagés (c.-à-d. Valider pour le contrôle de sources).

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

Ensuite, en bas de la fenêtre, sous Save To, choisissez & "Solution XYZ personnelle &"; (ou partagé, selon votre objectif).

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

<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue">NEXT_LINE</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue">NEXT_LINE</s:String>

Paramètres de réaffectation - Enregistrer uniquement pour la solution

Ainsi, la solution acceptée indique & "Vous avez juste besoin de mapper vos solutions sur l'indentation requise &"; ce qui est bien, sauf comment faites-vous cela? Après avoir passé 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 paramètres exportés pouvant être différents pour chaque solution. Les paramètres 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 & Gt; Explorateur de macros
  • Double-cliquez sur MyMacros > Module1 (si vous n'avez pas Module1, cliquez avec le bouton droit de la souris 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 le menu déroulant situé dans le coin supérieur gauche, choisissez "SolutionEvents".
  • Dans le menu déroulant situé dans le coin supérieur droit, choisissez "Ouvert".
  • Le code permettant de gérer l'événement SolutionEvents.Opened est automatiquement ajouté. Modifiez ce code comme suit:

    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.

  • Utiliser les outils > Options permettant de modifier votre interface utilisateur afin que les paramètres de l'onglet et tout ce que vous souhaitez définir.
  • Outils > Paramètres d'importation et d'exportation ... & Gt; Exporter les paramètres d’environnement sélectionnés & Gt; Suivant
  • Pour simplement exporter les paramètres d’onglet, décochez la case "Tous les paramètres" puis cochez Options > Éditeur de texte & Gt; C / C ++
  • Cliquez sur Suivant, puis tapez "solution.vssettings" comme "comment voulez-vous nommer votre fichier de paramètres?" et enregistrez le fichier là où vous avez une solution pour utiliser ces paramètres.
  • Faites glisser solution.vssettings vers n’importe quel emplacement dans la fenêtre de l’explorateur de solutions.
  • Quittez Visual Studio et ouvrez une solution contenant la solution solution.vssettings lors du prochain lancement de cette configuration.

Si la macro ne s'exécute pas, cela peut être dû à un correctif de sécurité MS. Basé sur this , ajoutez la chaîne suivante:

<AllowDComReflection enabled="true"/>

Au-dessous de < runtime > 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 démarrer l'éditeur que vous utilisez pour modifier ces fichiers avec des privilèges d'administrateur (cliquez avec le bouton droit de la souris sur le 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 l'exécution de son programme d'installation.

Le format clang 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 (lorsqu'il est appelé manuellement, c'est-à-dire).

http://llvm.org/builds/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top