2009-01-15 5 views
14

Certains de nos projets appellent des options d'onglet Visual Studio par défaut (largeur 4, onglets); certains appellent pour la largeur 3; utiliser des espaces. Ne demande pas. Plutôt que de les définir globalement, y a-t-il un moyen de définir cela par per-solution ou par projet ou même (par style emacs) par fichier?Visual Studio: Largeur/options des onglets variables par fichier .VCPROJ ou .SLN?

Visual Studio 2005 et 2008.

+1

+1 pour l'étiquette de guerre sainte. –

Répondre

13

La solution la plus pratique que je sais est de créer un ensemble de macros Visual Studio pour passer aux paramètres souhaités.

Passez à Tools > Macros > Macros IDE. Là, dans l'arborescence à gauche, cliquez avec le bouton droit sur MyMacros et choisissez Add > Add Module. Donnez au module un nom tel que TabSize. Dans ce module, créez des sous-marins pour modifier les paramètres souhaités. Par exemple:

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 
Imports System.Diagnostics 

Public Module TabSize 

    Sub Tab3() 
     SetTabAndIndentation(3) 
    End Sub 

    Sub Tab4() 
     SetTabAndIndentation(4) 
    End Sub 

    Function SetTabAndIndentation(ByVal value As Integer) 
     DTE.Properties("TextEditor", "AllLanguages").Item("TabSize").Value = value 
     DTE.Properties("TextEditor", "AllLanguages").Item("IndentSize").Value = value 
    End Function 

End Module 

Il n'y a pas de documentation utile que je connais pour les paramètres de chaîne. Si vous devez définir d'autres options, telles que «Conserver les onglets», l'approche la plus simple consiste à effectuer ces modifications manuellement (unter Tools > Options). Ensuite, en utilisant Tools > Import and Export Settings, enregistrez ces paramètres en tant que fichier vssettings. Cela crée un fichier XML dont la structure est la même que celle requise pour les appels de méthode. Enfin, vous pouvez lier ces macros aux boutons de commande ou aux raccourcis clavier via Tools > Customize. Donner à chaque macro un raccourci clavier vous permet de basculer rapidement entre les paramètres.

+0

Ceci peut être utile, combiné avec la gestion des événements de chargement de projet et la recherche dans le projet d'une propriété de marqueur ou d'un fichier pour contrôler les paramètres. Hmmm ... –

+0

Ah, cette astuce "paramètres d'exportation" est géniale!Maintenant, si seulement je pouvais obtenir tous mes collègues pour l'importer automatiquement ... :) –

+0

Je dois dire que c'est de loin l'une des meilleures réponses que j'ai vues sur Stack Overflow. Concis et pas trop long, mais m'a permis de suivre une toute nouvelle interface macro et faire exactement ce que je voulais (boutons pour "Keep Tabs" et "Insert Spaces"). Je vous remercie! – Dav

2

J'ai un problème similaire: mon nouveau projet doit être mis en place avec garder un œil, tandis que mes autres projets sont développés avec espaces d'insertion d'option. Comme il s'agit d'un paramètre strictement Visual Studio, je ne m'attendais pas à trouver des informations par projet qui autoriserait cela (que ce soit si on utilise un complément spécifique à cette fin). J'ai donc fini par avoir une configuration de type éclipse: avoir deux raccourcis vers Visual Studio avec des paramètres différents chacun.

Selon MSDN, vous pouvez utiliser le commutateur /ResetSettings pour modifier les paramètres Visual Studio au démarrage. Qu'est-ce que vous avez besoin est maintenant deux raccourcis avec ce format:

devenv.exe /ResetSettings "d:\your-settings.vssettings" 

Le temps de démarrage est comme 5-10 secondes de plus (car il applique les paramètres de changement à chaque démarrage), mais il est plus pratique et moins encombrant que de le faire manuellement , à chaque fois.

HTH

1

Vous pouvez également utiliser ces propriétés pour compléter l'exemple de Daniel:

DTE.Properties("TextEditor", "AllLanguages").Item("InsertTabs").Value 
DTE.Properties("TextEditor", "AllLanguages").Item("IndentStyle").Value 
0

Je sais que je suis un peu en retard au jeu: Depuis Visual Studio 2017, il y a un soutien pour .editorconfig fichiers dans l'IDE sur un base par répertoire.

Questions connexes