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 中不工作

如何在 Visual Studio 2010 中自动折叠某些评论?

如何在 Visual Studio 2017 中自定义折叠

visual studio .net的安装问题

关于在 Visual Studio 中使用 #pragma region 折叠代码块