Partilhar via


Propriedades e métodos estendidos por subtipos de projeto

Um subtipo de projeto tem muita energia para influenciar o comportamento do projeto porque ela é construída como um agregador de um projeto de base. Esta seção resume alguns dos recursos que podem ser modificados por subtipos de projeto ou enhanced.

Recursos obtidos pela agregação

A tabela a seguir resume a muitos dos métodos que permite a agregação de subtipos de projeto substituir em projetos de base.

Métodos substituídos por agregação

Subtipo de projeto

From IVsHierarchy:

GetProperty

SetProperty

GetGuidProperty

SetGuidProperty

Permite que um subtipo de projeto para

  • Alterar a legenda e o ícone do nó do projeto.

  • Substituir completamente o projeto Browse objeto.

  • Controle se o projeto pode ser renomeado.

  • Ordem de classificação de controle.

  • Contexto de usuário do controle de ajuda dinâmica.

From IVsProject:

GetItemContext

Permite que um subtipo de projeto controlar quais serviços contextuais são fornecidos para designers e editores.

From IOleCommandTarget:

QueryStatus

Exec

QueryStatusCommand

ExecCommand

Permite que um subtipo de projeto para

  • Participe de roteamento de comandos para comandos de projeto.

  • Adicionar, remover ou desativar os comandos de temperatura ambiente de projeto e de comandos ativos do Solution Explorer.

IVsFilterAddProjectItemDlg2

Permite que o subtipo de projeto filtrar o que o usuário vê na Add New Item caixa de diálogo.

IVsSingleFileGeneratorFactory

Permite que um subtipo de projeto para

  • Determine o gerador de padrão, dado uma extensão de arquivo.

  • Mapear um nome de humano gerador legível para um objeto COM.

Propriedades usadas pelo projeto subtipos

O sistema de projeto de ambiente e de base pode usar as propriedades de __VSSPROPID e __VSSPROPID2 enumerações detalhadas na tabela a seguir para habilitar um subtipo de projeto controlar vários recursos do sistema do projeto.

Propriedade VSHPROPID

Subtipo de projeto

AddItemTemplatesGuid

Permite que um subtipo de projeto controlar o conteúdo do Add Item caixa de diálogo. O subtipo de projeto pode fornecer uma nova especificação de diretórios de modelo, adicionar novos tipos de itens, remover itens existentes e reorganizar um subconjunto dos itens do projeto base Add Item caixa de diálogo.

PropertyPagesCLSIDList

Permite que um subtipo de projeto adicionar ou remover páginas de propriedades de configuração independente.

CfgPropertyPagesCLSIDList

Permite que um subtipo de projeto adicionar ou remover páginas de propriedades dependentes de configuração.

ExtObjectCATID

Permite que um subtipo de projeto fornecer um extensor de automação para o projeto ou item objetos sabendo o CATID de extensor. Por exemplo, um subtipo de projeto pode fornecer um personalizado Project.Extender("<subtype>") objeto.

BrowseObjectCATID

Permite que um subtipo de projeto fornecer um extensor de automação para o Browse objeto sabendo o CATID de extensor. Por exemplo, um subtipo de projeto pode adicionar propriedades extras para o Properties coleção.

CfgBrowseObjectCATID

Permite que um subtipo de projeto fornecer um extensor de automação para procurar objeto de configuração do projeto. Por exemplo, um subtipo de projeto pode adicionar propriedades extras para o Properties coleção.

CfgExtObjectCATID

Permite que um subtipo de projeto fornecer um extensor de automação para o objeto de configuração.

DefaultPlatformName

Permite que um subtipo de projeto determinar o nome da plataforma para os objetos de configuração do projeto.

O projeto de base fornece uma implementação padrão das propriedades acima. O projeto base obtém essas chamando QueryInterface para IVsHierarchy sobre o subtipo de projeto mais externo, permitindo assim que o subtipo de projeto substituir a implementação das propriedades.

Consulte também

Conceitos

Design de subtipos do projeto