VS2010编写自定义宏,定义解决方案项目折叠、展开快捷键
VS2013之前的版本没有项目折叠功能
1.安装resharper插件,里面有项目折叠
2.自定义宏,然后设置快捷键。
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module CollapseExpandAllProject ‘(特别注意:这里要与保存的Module名保持一致,不然无法调用宏 )
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
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