visual tutorial temas studio para mejores linea las iconos extensiones español code ajuste visual-studio
archivo .zip

tutorial - ¿Cuál es la mejor/más rápida/forma más fácil de colapsar todos los proyectos en Visual Studio?



visual studio code plugins (5)

Actualmente estoy usando DPack ya que esto agrega una opción "Contraer todos los proyectos" al nodo Solución en el Explorador de soluciones. Funciona bastante bien, pero puede tardar un tiempo en ejecutarse y no siempre colapsa todo completamente.

¿Hay mejores alternativas? Preferiblemente gratis y fácil de instalar / configurar. Hay muchos por ahí pero que funcionan mejor y no tienen errores o problemas de rendimiento.


Para VS2005, he estado usando CoolCommands 4.0 . La descripción de la función es más completa para la versión 3.0 anterior . La versión 3 tenía un instalador .msi. La versión 4 es un archivo .zip (que fue más fácil para mi entorno de todos modos).

Mis funciones favoritas (un subconjunto de la lista completa):

  • Desde el explorador de soluciones:
    • Contraer todos los proyectos
    • Abrir que contiene la carpeta (Proyecto / nivel de archivo solamente)
  • Desde las pestañas del nombre de archivo encima del editor
    • Ubique en Solution Explorer
  • Desde el menú contextual en el editor
    • Fuente de demostración


Aquí hay una mejor lista de características para CoolCommands 4.0 .

Para instalarlo para VS 2005, ejecute el include setup.bat.

Para instalarlo para VS 2008, modifique la siguiente línea de

regpkg CoolCommands.dll /codebase

a:

regpkg CoolCommands.dll /root:Software/Microsoft/VisualStudio/9.0 /codebase


Uso la siguiente macro que funciona en Visual Studio 2005 y Visual Studio 2008:

  1. Ver> Otras ventanas> Explorador de macros (Alt + F8)
  2. Haga clic derecho en el nodo MyMacros en Macro Explorer
  3. Nuevo módulo ...
  4. Nómbralo CollapseAll (o lo que quieras)
  5. Reemplace el código predeterminado con el código que se muestra a continuación
  6. Archivo> Guardar CollapseAll (Ctrl + S)
  7. Cierre el editor de macros

Para configurar un atajo de teclado:

  1. Herramientas> Personalizar ...> Comandos
  2. Teclado...
  3. Mostrar comandos que contengan: Macros.MyMacros.CollapseAll.CollapseAll
  4. Asignar un atajo de teclado (uso Alt + C)

Código

Imports System Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module CollapseAll Sub CollapseAll() '' Get the the Solution Explorer tree Dim solutionExplorer As UIHierarchy solutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object() '' Check if there is any open solution If (solutionExplorer.UIHierarchyItems.Count = 0) Then Return End If '' Get the top node (the name of the solution) Dim rootNode As UIHierarchyItem = solutionExplorer.UIHierarchyItems.Item(1) rootNode.DTE.SuppressUI = True '' Collapse each project node Collapse(rootNode, solutionExplorer) '' 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. rootNode.Select(vsUISelectionType.vsUISelectionTypeSelect) rootNode.DTE.SuppressUI = False End Sub Sub CollapseSelected() '' Get the the Solution Explorer tree Dim solutionExplorer As UIHierarchy solutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object() '' Check if there is any open solution If (solutionExplorer.UIHierarchyItems.Count = 0) Then Return End If '' Get the top node (the name of the solution) Dim selected As Array = solutionExplorer.SelectedItems If (selected.Length = 0) Then Return Dim rootNode As UIHierarchyItem = selected(0) rootNode.DTE.SuppressUI = True '' Collapse each project node Collapse(rootNode, solutionExplorer) '' 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. rootNode.Select(vsUISelectionType.vsUISelectionTypeSelect) rootNode.DTE.SuppressUI = False End Sub Private Sub Collapse(ByVal item As UIHierarchyItem, ByRef solutionExplorer As UIHierarchy) For Each innerItem As UIHierarchyItem In item.UIHierarchyItems If innerItem.UIHierarchyItems.Count > 0 Then '' Re-cursive call Collapse(innerItem, solutionExplorer) '' Collapse If innerItem.UIHierarchyItems.Expanded Then innerItem.UIHierarchyItems.Expanded = False If innerItem.UIHierarchyItems.Expanded = True Then '' Bug in VS 2005 innerItem.Select(vsUISelectionType.vsUISelectionTypeSelect) solutionExplorer.DoDefaultAction() End If End If End If Next End Sub End Module

No escribí este código y no estoy seguro de dónde vino este código, pero hay variaciones en línea.