Como controlar o Gerenciador de Soluções
Os suplementos do Visual Studio foram substituídos no Visual Studio 2013. Você deve atualizar seus suplementos para as extensões VSPackage. Para obter mais informações sobre atualização, consulte Perguntas frequentes: convertendo suplementos em extensões VSPackage.
Gerenciador de Soluções é uma janela de ferramentas no ambiente de desenvolvimento integrado Visual Studio (IDE) que exibe o conteúdo de uma solução, que inclui projetos de solução e itens de cada projeto. Como outras janelas de ferramenta em Visual Studio, você pode controlar seus físicos parâmetros, como o tamanho, local e, se estiver conectado ou livre flutuante. Para obter informações sobre como manipular essa janela de ferramenta bem como o outro Visual Studio utiliza ferramentas janelas, consulte Como alterar características da janela.
Gerenciador de Soluções não tem seus próprios objetos de automação como tal, mas você pode controlar o conteúdo da sua hierarquia até certo ponto usando UIHierarchy. Para controlar projetos e itens de projeto na solução, use o modelo de automação do projeto. Para obter mais informações, consulte Controlando projetos e soluções.
Dica
As caixas de diálogo e os comandos de menu que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou de edição.Esses procedimentos foram desenvolvidos com as Configurações Gerais de Desenvolvimento ativas.Para alterar as configurações, escolha Importar e ExportarConfigurações no menu de Ferramentas.Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.
Para controlar o Solution Explorer usando UIHierarchy
Se Gerenciador de Soluções não é visível, clique Gerenciador de Soluções no menu de Modo de Visualização .
Abrir um projeto que tem um grande número de elementos, como um projeto do suplemento.
Em Gerenciador de Soluções, clique em um nó que tenha pelo menos dois nós subpropriedades.
Executar o código a seguir.
Exemplo
Este exemplo demonstra como manipular Gerenciador de Soluções usando UIHierarchy.
Imports System.Text
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE100Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
' Pass the applicationObject member variable to the code example.
slnExplUIHierarchyExample(_applicationObject)
End Sub
Sub slnExplUIHierarchyExample(ByVal dte As DTE2)
Dim UIH As UIHierarchy = dte.ToolWindows.SolutionExplorer
' Requires a reference to System.Text.
' Set a reference to the first level nodes in Solution Explorer.
' Automation collections are one-based.
Dim UIHItem As UIHierarchyItem = UIH.UIHierarchyItems.Item(1)
Dim file As UIHierarchyItem
Dim sb As New StringBuilder
' Iterate through first level nodes.
For Each file In UIHItem.UIHierarchyItems
sb.AppendLine(file.Name)
' Iterate through second level nodes (if they exist).
Dim subitem As UIHierarchyItem
For Each subitem In file.UIHierarchyItems
sb.AppendLine(" " & subitem.Name)
' Iterate through third level nodes (if they exist).
Dim subSubItem As UIHierarchyItem
For Each subSubItem In subitem.UIHierarchyItems
sb.AppendLine(" " & subSubItem.Name)
Next
Next
Next
MsgBox(sb.ToString)
End Sub
using System.Text;
using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using EnvDTE100;public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
slnExplUIHierarchyExample(_applicationObject);
}
public void slnExplUIHierarchyExample(DTE2 dte)
{
UIHierarchy UIH = dte.ToolWindows.SolutionExplorer;
// Requires a reference to System.Text.
// Set a reference to the first level nodes in Solution Explorer.
// Automation collections are one-based.
UIHierarchyItem UIHItem = UIH.UIHierarchyItems.Item(1);
StringBuilder sb = new StringBuilder();
// Iterate through first level nodes.
foreach ( UIHierarchyItem fid in UIHItem.UIHierarchyItems )
{
sb.AppendLine(fid.Name);
// Iterate through second level nodes (if they exist).
foreach ( UIHierarchyItem subitem in fid.UIHierarchyItems )
{
sb.AppendLine(" "+subitem.Name);
// Iterate through third level nodes (if they exist).
foreach ( UIHierarchyItem subSubItem in
subitem.UIHierarchyItems )
{
sb.AppendLine(" "+subSubItem.Name);
}
}
}
System.Windows.Forms.MessageBox.Show(sb.ToString());
}
Consulte também
Tarefas
Instruções passo a passo: criando um assistente
Conceitos
Introdução ao objeto VSProject2
Gráfico do modelo de objetos automation
Outros recursos
Criando e controlando janelas de ambiente