zoukankan      html  css  js  c++  java
  • VS中折叠/展开所有项目的宏

    有些时候我们需要在解决方案管理器中将所有的项目都折叠或是展开,当解决方案中项目比较少时我们可以手工做,但当项目比较多时还手工处理就比较费劲了,好在我们有宏,完成可以利用宏代码来自动完成这些繁琐而重复的操作。 下面就是我写的一个用来折叠/展开所有项目的宏代码:

    Collapse/ExpandMacro
    Option Strict Off
    Option Explicit Off
    Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports System.Diagnostics

    Public Module CollapseExpandAllProject

    '-----------------------------------------------
    'Collapse All projects
    'Author:ZhangRongHua
    'Date:2010-05-12
    '-----------------------------------------------
    Public Sub CollapseAllProject()
    lastSlashIndex
    = DTE.Solution.FullName.LastIndexOf("\") + 1 'Get the last slash index .
    solutionNameWithExtension = DTE.Solution.FullName.Substring(lastSlashIndex) ' Get solution name with extension.
    solutionName = solutionNameWithExtension.ToString().Substring(0, solutionNameWithExtension.ToString().Length - 4) ' Get the solution name without extension .
    count = 0

    For Each curProject As EnvDTE.Project In DTE.Solution.Projects
    Try
    DTE.ActiveWindow.Object.GetItem(solutionName
    + "\" + curProject.Name).UIHierarchyItems.Expanded = False
    count
    = count + 1
    Catch ex As ArgumentException
    Continue For
    End Try
    Next curProject

    End Sub

    '-----------------------------------------------
    'Expand All projects
    'Author:ZhangRongHua
    'Date:2010-05-12
    '-----------------------------------------------
    Public Sub ExpandAllProject()
    lastSlashIndex
    = DTE.Solution.FullName.LastIndexOf("\") + 1 'Get the last slash index .
    solutionNameWithExtension = DTE.Solution.FullName.Substring(lastSlashIndex) ' Get solution name with extension.
    solutionName = solutionNameWithExtension.ToString().Substring(0, solutionNameWithExtension.ToString().Length - 4) ' Get the solution name without extension .
    count = 0

    For Each curProject As EnvDTE.Project In DTE.Solution.Projects
    Try
    DTE.ActiveWindow.Object.GetItem(solutionName
    + "\" + curProject.Name).UIHierarchyItems.Expanded = True
    count
    = count + 1
    Catch ex As ArgumentException
    Continue For
    End Try
    Next curProject

    End Sub

    End Module

    关于一些其它有意思的宏你可以在这里找到:

    利用宏自动在类文件中添加注释信息

    让多线程调试更简单的宏代码---FreezeThawThreads

  • 相关阅读:
    log4net的使用
    数据库概念及构成
    基于C#WPF框架——动画
    基于C# WPF框架的贪吃蛇
    使用Teigha.net读取CAD的常用功能模块
    Teigha.net实体属性注释
    .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
    Delphi解析修改Json文件,基于superobject.pas(ISuperObject)
    C++结构体与Delphi结构体相互传参,结构体中包含结构体的嵌套,数组指针
    C++ Json解析CJsonObject的详细使用
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/Colloapse_Expand_Macro.html
Copyright © 2011-2022 走看看