I have 125 project in solution, and it is hard to manage them without one-click macro. After migration to VS 2005 things are same - Microsoft just doesn't think about it, so I use old good macro again.
This macro collapses on top level only. I think, it is enough, anyway it takes time to collapse all.
Sub CollapseAll()
' 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 ' MsgBox("Nothing to collapse. You must have an open solution.") Return End If
' Get the top node (the name of the solution) Dim UIHSolutionRootNode As UIHierarchyItem UIHSolutionRootNode = UIHSolutionExplorer.UIHierarchyItems.Item(1)
' Collapse each project node Dim UIHItem As UIHierarchyItem For Each UIHItem In UIHSolutionRootNode.UIHierarchyItems UIHItem.UIHierarchyItems.Expanded = False Next
' Select the solution node, or else when you click ' on the solution window ' scrollbar, it will synchronize the open document ' with the tree and pop ' out the corresponding node which is probably not what you want. UIHSolutionRootNode.Select(vsUISelectionType.vsUISelectionTypeSelect)
End Sub
|
No comments:
Post a Comment