项目子类型和方法所扩展的属性

,因为它是构造为基本项目的聚合函数,项目子类型有大量功能会影响项目的行为。 本节概述了可以将项目子类型引发或修改的某些功能。

摘要捕获功能

下表总结了许多方法总结了基本项目使项目子类型重写。

摘要重写的方法

项目子类型

IVsHierarchy:

GetProperty

SetProperty

GetGuidProperty

SetGuidProperty

启用项的子类型

  • 更改项目节点说明和图标。

  • 完全重写项目 Browse 对象。

  • 控件项目是否可以重命名。

  • 控件排序顺序。

  • 控制动态帮助用户上下文。

IVsProject:

GetItemContext

使项目子类型控制上下文服务提供给设计器和编辑器。

IOleCommandTarget:

QueryStatus

Exec

QueryStatusCommand

ExecCommand

启用项的子类型

  • 参与项目的命令路由。

  • 添加,移除或禁用项目环境命令和解决方案资源管理器中激活命令。

IVsFilterAddProjectItemDlg2

使项目子类型筛选的用户在 添加新项目 对话框参见。

IVsSingleFileGeneratorFactory

启用项的子类型

  • 确定给定的默认生成器文件扩展名。

  • 映射一个可读的生成器名称对 COM 对象。

项目子类型使用的属性

环境和 foundation 项目系统在下表中可以使用 __VSSPROPID 和详细的 __VSSPROPID2 枚举的属性使项目子类型控件项目系统的各种功能。

VSHPROPID 属性

项目子类型

AddItemTemplatesGuid

允许项的子窗体控件 添加项目 对话框的内容。 项目子类型可以提供模板目录的新规范,添加新的类型项目中,删除现有项并重新组织项目的子集在基项目的 添加项目 对话框中。

PropertyPagesCLSIDList

向项目子类型添加或移除独立于配置的属性页。

CfgPropertyPagesCLSIDList

向项目子类型添加或移除配置相关属性页。

ExtObjectCATID

向项目子类型对项目或项目项对象提供自动化扩展程序通过实现扩展程序 CATID。 例如,项目子类型可以提供自定义 Project.Extender("<subtype>") 对象。

BrowseObjectCATID

向项目子类型为 Browse 对象提供自动化扩展程序通过实现扩展程序 CATID。 例如,项目子类型可以添加额外的属性设置为 Properties 集合。

CfgBrowseObjectCATID

向项目子类型为项目配置提供自动化扩展程序浏览对象。 例如,项目子类型可以添加额外的属性设置为 Properties 集合。

CfgExtObjectCATID

向项目子类型为配置对象提供自动化扩展程序。

DefaultPlatformName

向项目子类型确定平台名称项目的配置对象。

该基项目提供上述属性的默认实现。 该基项目通过调用 IVsHierarchyQueryInterface 获取这些在最外层的项目子类型,从而允许项子类型重写属性实现。

请参见

概念

项目子类型模型