共用方式為


為 VSPackage 提供自動化

有兩種主要方法可以為 VSPackages 提供自動化:透過實作 VSPackage 特定物件以及透過實作標準自動化物件。 一般而言,會一起使用這些來擴充環境的自動化模型。

VSPackage 特定物件

自動化模型中的某些位置需要您提供 VSPackage 特有的自動化物件。 例如,新專案需要只有您的 VSPackage 套件才能提供的獨特物件。 這些物件的名稱會在登錄中輸入,並透過呼叫環境 DTE 物件來取得。

當自動化使用者使用透過標準物件的 Object 屬性所提供的物件時,也可以取得 VSPackage 特定物件。 例如,標準 Window 物件具有 Object 屬性,通常稱為 Windows.Object 屬性。 當使用者在 VSPackage 中實作的視窗上呼叫 Window.Object 時,會傳回自己設計的特定自動化物件。

專案

VSPackage 可以透過自己的 VSPackage 特定物件,擴充新專案類型的自動化模型。 為 VSPackage 提供新自動化物件的主要目的是將您獨特的專案物件與 VCProjectVSProject2 物件區分開來。 如果您想提供一種方法,將您的專案類型與其他專案類型區分開來或逐一查看 (如果它們並排出現在方案中),那麼這種區分非常方便。 如需詳細資訊,請參閱公開專案物件

事件

環境的事件架構為您提供了另一個位置來附加您自己的 VSPackage 特定物件。 例如,藉由建立自己獨特的事件物件,您可以擴充專案的環境事件模型。 當您將新項目新增至您自己的專案類型時,可能會想要提供自己的事件。 如需詳細資訊,請參閱公開事件

視窗物件

Windows 可以在呼叫時將 VSPackage 特定的自動化物件傳回環境。 您可以實作一個從 IVsExtensibleObjectIExtensibleObjectIDispatch 衍生的物件,該物件可以傳回屬性,並擴充其所在的視窗物件。 例如,您可以使用此方法為視窗框架中的控制項提供自動化。 這個物件及其可能擴充的任何其他物件的語意均由您自行設計。 如需詳細資訊,請參閱如何︰為視窗提供自動化

[工具] 功能表上的 [選項] 頁面

您可以建立頁面來擴充「工具」、「選項」自動化模型,方法是實作頁面並將資訊新增至登錄以建立您自己的選項。 然後就可以像呼叫其他選項頁面一樣,透過環境物件模型呼叫您的頁面。 如果您透過 VSPackage 新增至環境的功能設計需要選項頁面,則您也應該新增自動化支援。 如需詳細資訊,請參閱選項頁的自動化支援

標準自動化物件

為了擴充專案的自動化,您也會實作位於其他專案物件旁的標準自動化物件 (衍生自 IDispatch),並實作標準方法和屬性。 標準物件的範例包括插入方案階層的專案物件,例如:ProjectsProjectProjectItemProjectItems。 每個新的專案類型都應該實作這些物件 (也可能是其他物件,視專案語意而定)。

從某種意義上說,這些物件提供相反於 VSPackage 特定項目物件的優勢。 標準自動化物件允許您的專案像其他支援相同物件的專案一樣以通用方式使用。 因此,針對一般 ProjectProjectItem 物件編寫的增益集可以針對任何類型的專案執行。 如需詳細資訊,請參閱專案模型化