Visual Studio 2003:启动时折叠所有项目
Posted
技术标签:
【中文标题】Visual Studio 2003:启动时折叠所有项目【英文标题】:Visual Studio 2003: collapse all projects upon startup 【发布时间】:2009-11-19 02:35:54 【问题描述】:我有一个包含大约 150 个项目的解决方案。当我打开解决方案时,其中一半似乎是随机打开的。我想打开所有项目都已折叠的解决方案。在打开解决方案后,我只想展开我选择的那个。
我该怎么做?
【问题讨论】:
【参考方案1】:我相信 IDE 会保持上次打开解决方案时的展开/折叠状态。手动过程是自己关闭它们。
或者来自here。这将折叠所有项目并展开所选项目。
宏 这是一个用于折叠解决方案中的所有项目并展开所选项目的宏:
1.在 VS2005 IDE 上选择 ALT+F8 打开宏浏览器 2.右键单击我的宏。 3.选择新模块。 4.键入新模块名称为 CollapseAll 5.选择 OK – 创建一个新模块 CollapseAll。 6.右键CollapseAll模块 7.选择编辑 - 启动宏 IDE。 8.复制下面的Sub,粘贴到模块和End模块之间。 -- 在宏 IDE 中(您可能需要调整一些行才能成功编译宏):
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
保存模块。 现在将此宏添加到工具栏以便于访问。
9.从主菜单中选择工具 -> 自定义 10.在“自定义”对话框中选择“命令”选项卡 11.选择宏 12.选择 CollapseAll 宏并将其拖放到 VS2005 IDE 工具栏之一上。您将在工具栏上看到宏名称 – 13.不要关闭自定义弹出窗口-- 14.右键工具栏上的宏名称 15.选择默认样式 - 这将删除工具栏上的宏名称,从而在工具栏上产生一个小矩形 16.右键单击小矩形 17.选择ChangeButtonImage 18.选择其中一张图像,例如 HourGlass。您将在工具栏上看到图像。 19.关闭自定义弹窗 20.测试宏: 1.在您的解决方案中选择一个项目 2.选择工具栏上的CollapseAll按钮 3.观察解决方案资源管理器将全部折叠并展开您选择的项目。
【讨论】:
【参考方案2】:我知道这不适用于 VS2003,但如果您在 VS2010 中寻找相同的解决方案,Sara Ford 写了一篇关于为您执行此操作的插件:
http://blogs.msdn.com/b/saraford/archive/2010/05/13/collapse-selection-in-solution-explorer-extension-7.aspx
【讨论】:
【参考方案3】:我的产品包含 100 多个项目。我为每个子模块(一些相关的 vcproj / csproj)制作 sln 文件,这样我就不必打开一个很大的 sln 文件来查看项目。
可能有一种方法可以编写 Visual Studio 脚本以仅在折叠时打开,但我不知道如何。我通过将 vcproj / csproj 拆分为不同的 sln 并使用构建服务器来构建来避免这个问题。
【讨论】:
以上是关于Visual Studio 2003:启动时折叠所有项目的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 2003 中使用 ELMAH
Visual Studio 2003 在 Windows7 中不工作