zoukankan      html  css  js  c++  java
  • [VS Macro]CollaposeAll Projects in Solution

    From Here

    As Title .

    ---------------------------------Copy Start----------------------------------------------------

    Imports System
    Imports EnvDTE
    Imports System.Diagnostics

    Public Module CollapseAll
        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)
            UIHSolutionExplorer = Nothing
            UIHSolutionRootNode.DTE.SuppressUI = True
            ' Collapse each project node
            Dim UIHItem As UIHierarchyItem
            For Each UIHItem In UIHSolutionRootNode.UIHierarchyItems
                'UIHItem.UIHierarchyItems.Expanded = False
                If UIHItem.UIHierarchyItems.Expanded Then
                    Collapse(UIHItem)
                End If
            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)
            UIHSolutionRootNode.DTE.SuppressUI = False
            UIHSolutionRootNode = Nothing
        End Sub

        Private Sub Collapse(ByVal item As UIHierarchyItem)
            For Each eitem As UIHierarchyItem In item.UIHierarchyItems
                If eitem.UIHierarchyItems.Expanded AndAlso eitem.UIHierarchyItems.Count > 0 Then
                    Collapse(eitem)
                End If
            Next
            item.UIHierarchyItems.Expanded = False
        End Sub
    End Module 

    ---------------------------------Copy End---------------------------------------------------- 

  • 相关阅读:
    c# 三种取整方法 向上取整 向下取整 四舍五入
    Lambda表达式对DataRow处理
    Dapper数据库字段和model属性映射
    union limit
    北邮五十题
    搜索____深搜 学易错点
    动态规划____有重叠子问题的搜索,都可以转为记忆化搜索
    64位 __int 与 long long写法
    做做 卡特兰数 与 卡米歇尔数
    vector 有点麻烦啊 能简单点么?
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1736946.html
Copyright © 2011-2022 走看看