Compartilhar via


Interface IVsHierarchy

 

Publicado: agosto de 2016

Fornece gerenciamento de hierarquia para VSPackages que implementam as hierarquias de projeto.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

[ComConversionLossAttribute]
[InterfaceTypeAttribute(1)]
[GuidAttribute("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")]
public interface IVsHierarchy
[ComConversionLossAttribute]
[InterfaceTypeAttribute(1)]
[GuidAttribute("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")]
public interface class IVsHierarchy
[<ComConversionLossAttribute>]
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")>]
type IVsHierarchy = interface end
<ComConversionLossAttribute>
<InterfaceTypeAttribute(1)>
<GuidAttribute("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")>
Public Interface IVsHierarchy

Métodos

Nome Descrição
System_CAPS_pubmethod AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)

Estabelece a notificação de eventos de hierarquia do cliente sem a hierarquia de implementar IConnectionPointContainer.

System_CAPS_pubmethod Close()

Fecha e limpa uma hierarquia assim que o ambiente determina que ele não é mais usado.

System_CAPS_pubmethod GetCanonicalName(UInt32, String)

Retorna um nome de cadeia de caracteres exclusivo, de um item na hierarquia. Usado para persistência de espaço de trabalho, como lembrar posições da janela.

System_CAPS_pubmethod GetGuidProperty(UInt32, Int32, Guid)

Obtém propriedades cujos valores são GUIDs.

System_CAPS_pubmethod GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

É possível para um nó de uma determinada hierarquia para ser um atalho para o meio de outra hierarquia.

System_CAPS_pubmethod GetProperty(UInt32, Int32, Object)

Obtém as propriedades de um determinado nó ou da hierarquia.

System_CAPS_pubmethod GetSite(IServiceProvider)

Obtém o provedor de serviço do qual acessar os serviços.

System_CAPS_pubmethod ParseCanonicalName(String, UInt32)

Retorna o identificador do item da hierarquia, dado seu nome canônico.

System_CAPS_pubmethod QueryClose(Int32)

Determina se a determinada hierarquia pode ser fechada.

System_CAPS_pubmethod SetGuidProperty(UInt32, Int32, Guid)

Define as propriedades cujos valores são GUIDs.

System_CAPS_pubmethod SetProperty(UInt32, Int32, Object)

Define as propriedades de um nó específico ou da hierarquia.

System_CAPS_pubmethod SetSite(IServiceProvider)

Define o provedor de serviço do qual acessar os serviços.

System_CAPS_pubmethod UnadviseHierarchyEvents(UInt32)

Desabilita a notificação de eventos de hierarquia do cliente sem exigir que a hierarquia de implementa IConnectionPointContainer.

System_CAPS_pubmethod Unused0()

Adiciona novos métodos sem recompilar ou quebrando a compatibilidade binária.

System_CAPS_pubmethod Unused1()

Adiciona novos métodos sem recompilar ou quebrando a compatibilidade binária.

System_CAPS_pubmethod Unused2()

Adiciona novos métodos sem recompilar ou quebrando a compatibilidade binária.

System_CAPS_pubmethod Unused3()

Adiciona novos métodos sem recompilar ou quebrando a compatibilidade binária.

System_CAPS_pubmethod Unused4()

Adiciona novos métodos sem recompilar ou quebrando a compatibilidade binária.

Métodos de Extensão

Nome Descrição
System_CAPS_pubmethod EnumImportingProjects()

Enumera todos os projetos que estão importando os recursos compartilhados pertencentes a determinada hierarquia de projeto compartilhado de ativos.(Definido por SharedProjectUtilities.)

System_CAPS_pubmethod EnumOwningProjectsOfSharedAssets()

Os projetos ativos compartilhados que possuem e gerenciam os recursos compartilhados importados pelo projeto de determinado.(Definido por SharedProjectUtilities.)

System_CAPS_pubmethod GetActiveProjectContext()

Obtém o contexto do projeto ativo.(Definido por SharedProjectUtilities.)

System_CAPS_pubmethod GetSharedItemsImportFullPaths()

Obtém os caminhos completos dos arquivos "Shared.items" importados pelo projeto de determinado.(Definido por SharedProjectUtilities.)

System_CAPS_pubmethod IsCapabilityMatch(String)

Sobrecarregado. Verifica se um determinado projeto corresponde aos requisitos indicados em uma expressão AppliesTo.(Definido por PackageUtilities.)

System_CAPS_pubmethod IsProjectImportingSharedAssets()

Determina se o projeto determinado importa recursos compartilhados.(Definido por SharedProjectUtilities.)

System_CAPS_pubmethod IsSharedAssetsProject()

Determina se o projeto fornecido é um projeto de ativos compartilhados.(Definido por SharedProjectUtilities.)

System_CAPS_pubmethod SetActiveProjectContext(IVsHierarchy)

Define o contexto do projeto ativo.(Definido por SharedProjectUtilities.)

Comentários

O IVsHierarchy é uma interface genérica para uma hierarquia de nós. Cada nó, incluindo o nó raiz, pode ter propriedades arbitrárias associadas a ele. Cada nó no objeto de hierarquia é identificado usando um cookie (VSITEMID), que indica um nó específico. Esse cookie é invisível ao consumidor do IVsHierarchy, e geralmente é um ponteiro para alguns dados particulares mantidos pela implementação da hierarquia.

A VSITEMID é um DWORD identifica exclusivamente um nó em uma hierarquia. ItemIDs de um IVsHierarchy não pode ser passado para outra hierarquia. Além disso, observe que itemids tem uma vida útil limitada, conforme indicado pelos eventos disparados por hierarquia, para que manter itemids de longa duração exigirá ambos o recebendo esses eventos, ou a conversão do itemid em formato canônico, persistente.

Um item em uma hierarquia pode ser um nó folha, um contêiner de outros itens, ou um link em alguma outra hierarquia usando GetNestedHierarchy.

O IVsHierarchy interface não é usada apenas para hierarquias de projeto. Por exemplo, o Server Explorer janela implementa o IVsHierarchy interface para exibir sua hierarquia, que não é uma hierarquia de projeto.

Há momentos em que é útil consultar uma hierarquia sobre vários nós virtuais, como a própria hierarquia ou os nós selecionados dentro da hierarquia. Onde os nós virtuais potencialmente são de interesse, um dos predefinida VSITEMID valores podem ser passados.

Modos de exibição do ambiente de um projeto como uma hierarquia, ou seja, uma árvore de nós no qual os nós são itens de projeto. Cada nó também tem um conjunto de propriedades associadas e fornece gerenciamento de hierarquia para VSPackages que implementam as hierarquias de projeto.

Observações para implementadores:

Implementado pelo VSPackages que criar sua própria hierarquia de projeto.

Observações para chamadores:

Chamado pelo ambiente de obter e definir propriedades de hierarquia.

Consulte também

Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo