Partilhar via


Componentes principais do projeto modelo

Expandir as tabelas a seguir o modelo de projeto. As tabelas apresentam breves descrições das interfaces e serviços identificados no modelo e as interfaces e serviços associados a objetos específicos. Além disso, as tabelas detalham sobre outras interfaces que são opcionais na criação do projeto e a manutenção dependendo dos requisitos do seu tipo de projeto específico.

Para obter mais informações, consulte Suporte a ferramentas de navegação de símbolo.

Objeto de pacote

Interface

Comentários

IVsPackage

Inicializa um VSPackage no IDE e disponibiliza seus serviços ao IDE.

Objeto de fábrica do projeto

Interface

Comentários

IVsProjectFactory

Gerencia a criação de novos projetos e abertura de projetos existentes.

Objetos do projeto

Interfaces

Comentários

IVsProject3

Gerencia a adição e remoção de itens de projeto, abre editores e mantém o mapeamento entre cada identificador de origem do documento e o VSITEMID. Herda do IVsProject e IVsProject2.

IVsHierarchy

Gerencia as propriedades de navegação e exibição e fornece eventos.

IVsUIHierarchy

Habilita de execução semelhante do comando IOleCommandTarget para comandos como recortar e renomear que se aplicam somente quando o foco está no Solution Explorer.

IOleCommandTarget

Serve como a interface de destino principal comando para uma hierarquia de projetos. É a interface padrão para consultar objetos para o seu status de comando ou comandos de estado e em execução. Disponível quando você não se concentram na janela projeto.

IPersistFileFormat

Coordena a persistência do estado do projeto. Normalmente, o estado do projeto é armazenado como um arquivo de projeto, mas pode ser adaptado aos sistemas de armazenamento que não são baseados em arquivo.

IVsPersistHierarchyItem2

Permite que o projeto para gerenciar todos os aspectos de persistência para os seus itens de projeto, como arquivos no disco ou objetos em outros sistemas de armazenamento. O IVsPeristHierarchyItem2 interface é usada para itens que não implementam o IVsPersistDocData2 interface.

IVsSccProject2

Coordena as interações com o controle de código fonte.

IVsProjectFlavorCfgProvider

Permite que os projetos para gerenciar informações de configuração.

IVsCfgProvider2

Gerencia objetos de configuração do projeto, tais como configurações de Debug/Release. Criar, implantar e depurar as operações são coordenadas através de objetos de configuração do projeto.

IVsHierarchyDeleteHandler

Implementado por hierarquias para controlar a exclusão (destrutiva) ou remover opções (não-destrutivas) para os itens de hierarquia. Chamar a Interface de consulta na IVsHierarchyDeleteHandler interface da IVsHierarchy interface.

IVsGetCfgProvider

Fornece a opção de implementação de ter o objeto que ofereça suporte a IVsCfgProvider2 interface em uma identidade diferente do COM que o objeto de projeto que implementa o IVsHierarchy interface.

IVsProjectStartupServices

Opcional interface implementada para tornar seu projeto extensível por outros desenvolvedores. O IVsProjectStartupServices interface permite que um VSPackage de terceiros registrar um GUID que persistem em seu arquivo de projeto, para que sempre que o seu projeto for carregado, você carrega o GUID do serviço de terceiros em seu arquivo de projeto e a chamada QueryService para esse GUID.

IVsUIHierWinClipboardHelperEvents

Implementado por hierarquias de origem em um UIHierarchy janela para coordenar as operações da área de transferência como, por exemplo, recortar, copiar e colar. Use o AdviseClipboardHelperEvents interface para registrar eventos de área de transferência.

IVsHierarchyDropDataSource2

Fornece informações sobre um item arrastado em relação à sua fonte de dados durante uma operação de arrastar-e-soltar em uma janela de hierarquia de interface do usuário. Chamado a partir do IVsHierarchy interface.

IVsHierarchyDropDataTarget

Fornece informações sobre um item arrastado em relação ao seu destino de soltar durante uma operação de arrastar-e-soltar em uma janela de hierarquia de interface do usuário. Chamado a partir do IVsHierarchy interface.

Objeto de configuração

Interfaces

Comentários

IVsCfg

Fornece informações sobre uma configuração.

IVsProjectCfg2

Permite que os projetos para gerenciar informações de configuração.

IVsDebuggableProjectCfg

Permite que um projeto a ser executado sob o controle do depurador.

IVsDeployableProjectCfg

Implementado por projetos de implantação que realizam operações de implantação para outros projetos.

Objeto de configuração do construtor

Interfaces

Comentários

IVsBuildableProjectCfg

Gerencia a operação de compilação de uma configuração projeto.

Objetos adicionais do projeto

Interfaces

Comentários

IDispatch

ISpecifyPropertyPages

Exibe propriedades de item a Propriedades janela.

IVsOutput2

IVsEnumOutputs

Exibe as saídas para implantação.

A tabela a seguir apresenta as breves descrições dos serviços identificados no modelo de projeto.

Serviços

Serviço

Comentários

SVsRegisterProjectTypes

Usado por VSPackages que implementam os tipos de projeto para registrar que sua fábrica de projeto existe com o IDE. O VSPackage deve chamar QueryService para este serviço e registrar sua fábrica de projeto quando IVsPackage::SetSite método é chamado. Se a SetSite método não é chamado, o projeto não é instanciado.

SVsSolution

Fornece acesso a noção de interno, interno do IDE da solução atual, como, por exemplo, a capacidade de enumerar os projetos, criar novos projetos, observar a alterações de projeto e assim por diante.

SVsSccManager

Chamado por projetos que pretender participar no controle de origem.

SVsRunningDocumentTable

Mantém uma tabela de documentos abertos para determinar se um ou mais dos seus itens de projeto já foram abertas.

SVsUIShellOpenDocument

Contém as interfaces e métodos chamados realmente abrir um item de projeto usando o editor padrão ou um editor específico.

SVsTrackProjectDocuments

Deve ser chamado por todos os projetos ao adicionar, remover ou renomear seus itens.

SVsFileChangeEx

Gerencia as alterações em um arquivo ou diretório e notifica os clientes quando os arquivos selecionados foram alterados no disco.

SVsQueryEditQuerySave

Deve ser chamado por todos os projetos e editores, antes que eles dirty itens ou salvá-las.

SVsSolutionBuildManager

Gerencia a ordem das operações de compilação e implantação para configurações de projeto.

SVsShellDebugger

Fornece acesso a serviços de nível baixo de depurador usados para a maioria dos controles de depuração.

SVsShellMonitorSelection

Permite o acesso de VSPackages às informações sobre as seleções atuais e permite a comunicação com o Propriedades janela.

SVsUIShell

Fornece a funcionalidade básica do IDE relacionados à interface do usuário, como a capacidade para criar e enumerar as janelas de ferramentas ou janelas de documento ou para relatar um erro ao usuário.

SVsStatusbar

Fornece acesso à barra de status do IDE.

IVsExtensibility3

Usado para implementar o modelo de automação. No seu modelo de projeto, você irá retornar um objeto de propriedades que permite que você cria uma instância desse objeto.

SVsUIHierWinClipboardHelper

Usado para implementar eventos da área de transferência no objeto na hierarquia do projeto. SVsUIHierWinClipboardHelperpermite que você corretamente alça recortar, copiar e colar.

Consulte também

Referência

IOleCommandTarget

Conceitos

Lista de verificação: Criação de novos tipos de projeto

Suporte a ferramentas de navegação de símbolo

Elementos de um modelo de projeto

Outros recursos

Implementation of Project Interfaces Using HierUtil7