提供 VSPackages 的自動化
有兩種主要的方式,提供您 VSPackages 的自動化: 藉由實作 VSPackage 特定物件,並藉由實作標準的 automation 物件。 一般而言,這些用在一起來擴充自動化模型的環境。
VSPackage 特有物件
自動化模型內的特定位置會要求您提供對您的 VSPackage 都是唯一的 automation 物件。 舉個例說,新的專案需要不同的物件,只是您的 VSPackage 提供。 這些物件的名稱輸入登錄中並透過呼叫環境取得DTE物件。
自動化消費提供透過標準的物件的物件屬性的物件時,還可以取得 VSPackage 特有物件。 例如,標準的Window物件有Object屬性,通常稱為Windows.Object屬性。 當消費者呼叫Window.Object在視窗中,在您的 VSPackage 中實作,您上一步將特定的自動化物件傳遞自己設計。
專案
VSPackages 可以擴充到其自己的 VSPackage 特定物件的新專案類型的自動化模型。 為您的 VSPackage 來區別您唯一的專案,請提供新的 automation 物件的主要目的將物件從VCProject或VSProject2物件。 此差異很方便,當您想要提供一個可以挑出,或重複您的專案,從其他專案類型,除了類型應該顯示並排顯示在方案中。 如需詳細資訊,請參閱 將專案物件公開。
事件
事件架構的環境提供了另一個位置,以讓您新增您自己的 VSPackage 特定物件。 例如,藉由建立您自己的唯一的事件物件,您可以擴充環境的事件模型的專案。 您可以提供您自己的事件,當新的項目加入至您自己的專案類型。 如需詳細資訊,請參閱 公開 Visual Studio 的 SDK 中的事件。
視窗物件
Windows 可以傳遞回 VSPackage 專屬的自動化物件傳回給呼叫時的環境。 您在實作物件衍生自IVsExtensibleObject, IExtensibleObject或IDispatch ,傳遞回擴充,它已決定位置的 window 物件的屬性。 例如,您可以使用這種方法來提供控制項設置在視窗框架的自動化。 這個物件及任何其他物件,它可能會將其延伸的語意都是你的設計。 如需詳細資訊,請參閱 如何: 提供 Windows 的自動化。
在 [工具] 功能表上的 [選項] 頁
您可以建立網頁來擴充 [工具] 功能表的 [選項 automation 模型,透過實作網頁,並將資訊新增至登錄,以建立您自己的選項。 透過環境物件模型,就像任何其他選項] 頁時,可以再呼叫您的網頁。 如果您要透過 VSPackages 環境中加入的功能的設計需要使用 [選項] 頁,您應該加入的自動化支援。 如需詳細資訊,請參閱 [選項] 頁的自動化支援。
標準的 Automation 物件
若要擴充專案自動化,您也實作標準的 automation 物件 (衍生自IDispatch) 不跟牌,而其他的專案物件旁邊,實作標準的方法和屬性。 標準物件的範例包括: 例如,插入至方案階層架構的專案物件Projects, Project, ProjectItem,以及ProjectItems。 每個新的專案型別應該實作這些物件 (且可能是語意而定,專案的其他的)。
在某方面來說,這些物件會提供 VSPackage 的特定專案的物件的相對優點。 標準的自動化物件可以讓您在通用的方法,就像任何其他支援同一個物件的專案中使用的專案。 因此,對一般撰寫巨集Project和ProjectItem物件才能動作對任何類型的專案。 如需詳細資訊,請參閱 專案模型。