Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As tabelas a seguir expandem 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 outras interfaces que são opcionais na criação e manutenção do projeto, dependendo dos requisitos do seu tipo de projeto específico.
Para obter mais informações, consulte Dando suporte a ferramentas de navegação de símbolos.
Objeto de pacote
| Interface | Comentários |
|---|---|
| IVsPackage | Inicializa um VSPackage no IDE e disponibiliza seus serviços para o IDE. |
Objeto Project Factory
| Interface | Comentários |
|---|---|
| IVsProjectFactory | Gerencia a criação de novos projetos e abertura de projetos existentes. |
Objetos de 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 moniker de documento e o VSITEMID. Herda de IVsProject e IVsProject2. |
| IVsHierarchy | Gerencia propriedades de navegação e exibição e fornece eventos. |
| IVsUIHierarchy | Permite a execução de comandos semelhante à de comandos como Recortar e Renomear que se aplicam somente quando o foco está no Gerenciador de IOleCommandTarget Soluções. |
| IOleCommandTarget | Serve como a interface de destino de comando principal para uma hierarquia de projeto. É a interface padrão para consultar objetos para seu status ou estado de comando e comandos em execução. Disponível quando você não está focado 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 para sistemas de armazenamento que não são baseados em arquivo. |
| IVsPersistHierarchyItem2 | Permite que o projeto gerencie todos os aspectos de persistência de seus itens de projeto, como arquivos em disco ou objetos em outros sistemas de armazenamento. A IVsPersistHierarchyItem2 interface é usada para itens que não implementam a IVsPersistDocData2 interface. |
| IVsSccProject2 | Coordena as interações com o controle do código-fonte. |
| IVsProjectFlavorCfgProvider | Permite que os projetos gerenciem informações de configuração. |
| IVsCfgProvider2 | Gerencia objetos de configuração do projeto, como configurações de Depuração/Versão. As operações de compilação, implantação e depuração são coordenadas por meio de objetos de configuração do projeto. |
| IVsHierarchyDeleteHandler | Implementado por hierarquias para controlar as opções de exclusão (destrutiva) ou remoção (não destrutiva) de itens de hierarquia. Chame a Interface de Consulta na interface a IVsHierarchyDeleteHandler partir da IVsHierarchy interface. |
| IVsGetCfgProvider | Fornece a opção de implementação de ter o objeto que oferece suporte à IVsCfgProvider2 interface em uma identidade COM diferente do objeto de projeto que implementa a IVsHierarchy interface. |
| IVsProjectStartupServices | Interface opcional implementada para tornar seu projeto extensível por outros desenvolvedores. A IVsProjectStartupServices interface permite que um VSPackage de terceiros registre um GUID que você persiste no arquivo de projeto para que, sempre que o projeto for carregado, você carregue o GUID de serviço de terceiros no arquivo de projeto e chame QueryService esse GUID. |
| IVsUIHierWinClipboardHelperEvents | Implementado por hierarquias de origem em uma UIHierarchy janela para coordenar operações da área de transferência, como recortar, copiar e colar. Use a interface para registrar eventos da AdviseClipboardHelperEvents á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 da interface do usuário. Chamado a partir da 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 da interface do usuário. Chamado a partir da IVsHierarchy interface. |
Objeto de configuração
| Interfaces | Comentários |
|---|---|
| IVsCfg | Fornece informações sobre uma configuração. |
| IVsProjectCfg2 | Permite que os projetos gerenciem informações de configuração. |
| IVsDebuggableProjectCfg | Permite que um projeto seja executado sob o controle do depurador. |
| IVsDeployableProjectCfg | Implementado por projetos de implantação que executam operações de implantação para outros projetos. |
Objeto do Configuration Builder
| Interfaces | Comentários |
|---|---|
| IVsBuildableProjectCfg | Gerencia a operação de compilação de uma configuração de projeto. |
Objetos de projeto adicionais
| Interfaces | Comentários |
|---|---|
IDispatchISpecifyPropertyPages |
Exibe as propriedades do item na janela Propriedades . |
| IVsOutput2 IVsEnumOutputs |
Exibe saídas para implantação. |
A tabela a seguir apresenta breves descrições dos serviços identificados no modelo de projeto.
Serviços
| Serviço | Comentários |
|---|---|
| SVsRegisterProjectTypes | Usado por VSPackages que implementam tipos de projeto para registrar que sua fábrica de projeto existe com o IDE. Seu VSPackage deve chamar QueryService para esse serviço e registrar sua fábrica de projeto quando IVsPackage::SetSite o método é chamado. Se o SetSite método não for chamado, seu projeto não será instanciado. |
| SVsSolution | Fornece acesso à noção interna e interna do IDE da solução atual, como a capacidade de enumerar projetos, criar novos projetos, tomar conhecimento de alterações de projeto e assim por diante. |
| SVsSccManager | Chamados por projetos que desejam participar do controle de fontes. |
| SVsRunningDocumentTable | Mantém uma tabela de documentos abertos para determinar se um ou mais itens do projeto já estão abertos. |
| SVsUIShellOpenDocument | Contém as interfaces e métodos chamados para realmente abrir um item de projeto usando o editor padrão ou um editor específico. |
| SVsTrackProjectDocuments | Necessário para ser chamado por todos os projetos quando eles adicionam, removem ou renomeiam seus itens. |
| SVsFileChangeEx | Gerencia alterações em um arquivo ou diretório e notifica os clientes quando os arquivos selecionados foram alterados no disco. |
| SVsQueryEditQuerySave | Necessário para ser chamado por todos os projetos e editores antes de sujar itens ou salvá-los. |
| 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 depurador de baixo nível usados para a maioria dos controles de depuração. |
| SVsShellMonitorSelection | Permite o acesso do VSPackages a informações sobre seleções atuais e permite a comunicação com a janela Propriedades . |
| SVsUIShell | Fornece funcionalidade IDE básica relacionada à interface do usuário, como a capacidade de criar e enumerar janelas de ferramentas ou janelas de documentos ou relatar um erro ao usuário. |
| SVsStatusbar | Fornece acesso à barra de status do IDE. |
| IVsExtensibility3 | Utilizado para implementar o modelo de automação. Em seu modelo de projeto, você retornará um objeto de propriedades que permite criar uma instância desse objeto. |
| SVsUIHierWinClipboardHelper | Usado para implementar eventos da área de transferência no objeto de projeto na hierarquia. SVsUIHierWinClipboardHelper permite manipular corretamente as operações de recortar, copiar e colar. |