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: |
Permite que um subtipo de projeto para
|
From IVsProject: |
Permite que um subtipo de projeto controlar quais serviços contextuais são fornecidos para designers e editores. |
From IOleCommandTarget: |
Permite que um subtipo de projeto para
|
Permite que o subtipo de projeto filtrar o que o usuário vê na Add New Item caixa de diálogo. |
|
Permite que um subtipo de projeto para
|
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.