共用方式為


屬性和方法擴充專案子類型

專案子類型有很多的電力來影響行為的專案,因為它建構為彙總程式的基底的專案。 本節將摘要描述的一些功能可加強或修改專案子類型。

彙總所得到的功能

下表摘要列出數個彙總可以讓專案子類型,來覆寫基底的專案中的方法。

覆寫由彙總方法

專案子類型

From IVsHierarchy:

GetProperty

SetProperty

GetGuidProperty

SetGuidProperty

可讓專案子類型,

  • 變更標題] 和 [專案] 節點的圖示。

  • 完全覆寫專案Browse物件。

  • 控制是否可以重新命名專案。

  • 控制項的排序順序。

  • 控制動態說明的使用者內容。

From IVsProject:

GetItemContext

可讓專案子類型,以控制設計工具和編輯器提供何種內容的服務。

From IOleCommandTarget:

QueryStatus

Exec

QueryStatusCommand

ExecCommand

可讓專案子類型,

  • 加入命令路由內的專案的命令。

  • 新增、 移除,或停用專案環境命令和 [方案總管] 中使用中的命令。

IVsFilterAddProjectItemDlg2

可讓專案子類型,若要篩選的使用者會看到在加入新項目對話方塊。

IVsSingleFileGeneratorFactory

可讓專案子類型,

  • 判斷指定的檔案副檔名的預設產生器。

  • 人工可讀取的產生器名稱,對應到一個 COM 物件。

專案子類型所使用的屬性

環境和基底專案系統可以使用 [屬性與__VSSPROPID__VSSPROPID2下表將詳細說明,讓專案子類型,來控制的專案系統的各種功能的列舉型別。

VSHPROPID 屬性

專案子類型

AddItemTemplatesGuid

可讓專案子類型,來控制的內容加入項目對話方塊。 專案子類型可以提供新的範本目錄規格、 加入新的項目種類、 移除現有的項目,與重新整理的基底的專案中的項目子集加入項目對話方塊。

PropertyPagesCLSIDList

可讓專案子類型,來新增或移除組態無關的屬性頁。

CfgPropertyPagesCLSIDList

可讓專案子類型,來新增或移除組態相關屬性頁。

ExtObjectCATID

可讓專案子類型,以提供自動化擴充項專案或專案項目物件知道擴充項 CATID。 例如,專案的子型別可以提供自訂Project.Extender("<subtype>")物件。

BrowseObjectCATID

可讓專案子型別來提供自動化擴充項Browse知道擴充項 CATID 的物件。 例如,專案子類型可以在其中新增額外的屬性,以Properties集合。

CfgBrowseObjectCATID

可讓專案子類型,以自動化擴充項提供專案組態瀏覽的物件。 例如,專案子類型可以在其中新增額外的屬性,以Properties集合。

CfgExtObjectCATID

可讓專案子類型,以自動化擴充項提供組態物件。

DefaultPlatformName

可讓專案子類型來決定專案的組態物件的平台名稱。

基底的專案提供上述屬性的預設實作。 基底的專案,取得這些藉由呼叫QueryInterfaceIVsHierarchy上最外層的專案子型別,因此可允許覆寫的屬性實作的專案子類型。

請參閱

概念

專案子型別設計