我有一个包含大约150个项目的解决方案。当我打开这个解决方案时,其中一半似乎是随机打开的。我希望打开解决方案时所有项目都处于折叠状态,只有在打开解决方案后我选择的项目才会展开。
我该怎么做呢?
我有一个包含大约150个项目的解决方案。当我打开这个解决方案时,其中一半似乎是随机打开的。我希望打开解决方案时所有项目都处于折叠状态,只有在打开解决方案后我选择的项目才会展开。
我该怎么做呢?
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
我在一个有100多个项目的产品上工作。我为每个子模块(几个相关的vcproj / csproj)制作sln文件,这样我就不必打开一个大型的sln文件来查看项目。
可能有一种方法可以脚本化Visual Studio仅以折叠状态打开,但我不知道如何操作。我通过将vcproj / csproj拆分成不同的sln并使用构建服务器进行构建来避免这个问题。