2009-11-19 6 views

Répondre

1

Je crois que l'EDI conserve l'état d'expansion/réduction depuis la dernière ouverture de la solution. Le processus manuel consiste à les fermer tous vous-même.

Alternativement à partir de here. Cela va réduire tous les projets et développer le projet sélectionné.

macros Voici une macro pour réduire tous les projets dans une solution et d'élargir le projet sélectionné:

1.Select ALT + F8 sur votre VS2005 pour ouvrir l'explorateur macro
2.Cliquer MyMacros.
3.Sélectionnez Nouveau module.
4.Tapez le nouveau nom du module comme CollapseAll
5.Sélectionnez OK - Un nouveau module CollapseAll est créé.
6.Right Click CollapseAll Module
7.Sélection Editer - L'IDE Macro est lancé.
8.Copiez le Sub suivant et collez-le entre le module et le module End. - dans l'IDE Macro (vous devrez peut-être ajuster quelques lignes afin de compiler avec succès la macro):

Sub CollapseAll() 
'NavigateSolution() 
' Get the the Solution Explorer tree 
Dim UIHSolutionExplorer As UIHierarchy 
UIHSolutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object() 
' Check if there is any open solution 
If (UIHSolutionExplorer.UIHierarchyItems.Count = 0) 
Then 
Return 
End If 

' Get the top node (the name of the solution) 
Dim UIHSolutionRootNode As UIHierarchyItem 
Dim UIHChildItem As UIHierarchyItem 
UIHSolutionRootNode = UIHSolutionExplorer.UIHierarchyItems.Item(1) 

' Collapse each project node 
Dim UIHItem As UIHierarchyItem 
For Each UIHItem In UIHSolutionRootNode.UIHierarchyItems 
For Each UIHChildItem In UIHItem.UIHierarchyItems 
UIHChildItem.UIHierarchyItems.Expanded = False 
Next 
UIHItem.UIHierarchyItems.Expanded = False 
Next 
UIHSolutionRootNode.UIHierarchyItems.Expanded = True 

Dim UIHSelectedItem As UIHierarchyItem = UIHSolutionExplorer.SelectedItems(0) 
UIHSelectedItem.UIHierarchyItems.Expanded = True 
End Sub 

Enregistrez le module. Maintenant, ajoutez cette macro à la barre d'outils pour un accès facile.

9.Select Outils -> Personnaliser dans le menu principal
10.Select l'onglet Commande dans la boîte de dialogue Personnaliser
11.Select macros
12.Select la CollapseAll macro et glisser-déposer sur l'un des VS2005 Barres d'outils IDE. Vous verrez le Nom de la macro sur la barre -
13.Do pas fermer la fenêtre Personnaliser Popup -
14.Right Cliquez sur le Nom de la macro sur la barre
15.Select Default Style - Cela supprime le Nom de la macro sur la ToolBar, ce qui entraîne dans un petit rectangle sur la barre d'outils
16.Right Cliquez sur le petit rectangle
17.Select ChangeButtonImage
18.Select l'une des images, par exemple, le HourGlass. Vous verrez l'image dans la barre d'outils.
19.Close Personnaliser PopUp
Test 20.To la macro:
1.Select l'un des projets dans votre solution
2.Select le bouton CollapseAll sur la ToolBar
3.Observez l'Explorateur de solutions va tout réduire et étendra le projet que vous avez sélectionné.

+0

Merci Dave .. Vous êtes un génie ... ça a bien marché !!! –

0

Je travaille sur un produit avec plus de 100 projets. Je fais des fichiers sln pour chaque sous-module (quelques vcproj/csproj qui sont liés) de sorte que je n'ai pas besoin d'ouvrir un gros fichier sln pour voir le projet.

Il pourrait y avoir un moyen de script studio visuel pour ouvrir seulement en replié, mais je ne sais pas comment. J'évite le problème en divisant simplement le vcproj/csproj en différents sln et utiliser un serveur de construction pour construire.

Questions connexes