使用自動化來建立選項頁
受管理的 VSPackages 可以用來擴充自動化Visual Studio整合式的開發環境 (IDE) 藉由新增選項分頁成工具功能表。
A 工具選項頁面基本上是使用者控制項,並且會編碼為任何其他的使用者控制項一樣。 一般而言,您可使用的其中一個Visual Studio IDE 的設計工具建立的物件,並將使用者控制項。
![]() |
---|
工具選項實作為對話方塊的頁面] 方塊中,使用DialogProc來處理 windows 訊息,必須為非強制回應對話方塊,千萬不要呼叫EndDialog函式。 |
您應該使用 VSPackage 提供對環境的自動化物件來支援使用者控制項屬性。
工具選項頁使用 Interop 組件實作的自動化支援
若要支援自動化模型,VSPackage 必須建立並註冊自動化物件。 如需詳細資訊,請參閱 提供 VSPackages 的自動化。
當使用自動化模型的程式碼會呼叫DTE.Properties屬性集合的指定工具選項 ] 頁面上,IDE 會使用 VSPackage 的實作所提供的 automation 物件GetAutomationObject ,傳回集合,並允許存取其組成Property物件。
附註所傳回的自動化物件GetAutomationObject而定 (如 VSPackage 可以支援一個以上的自動化物件) 所提供的 GUID。 如需有關如何實作 automation 物件的詳細資訊,請參閱[選項] 頁的自動化支援。
A 工具選項頁面由兩個識別項指定。 第一的識別項是字串,表示包含這個項目上的資料夾選項 一節的 工具功能表。 第二個識別項是字串,表示資料夾中的特定項目。 如需詳細資訊,請參閱 使用 [選項] 頁。
兩個登錄項目時需要註冊自動化物件:
在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\< 版本 \Packages\<PackageGUID>\Automation
在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\AutomationProperties
其中 <Version> 版本的Visual Studio (例如,8.0) 和 <PackageGUID> VSPackage 實作 automation 物件的 guid。
取決於在 AutomationProperties 登錄項目的狀態下設定工具選項頁面可能會自動儲存並且還原到Visual Studio設定機制,當使用者選取匯入/匯出設定命令工具功能表。 如需有關儲存工具選項頁面設定,請參閱註冊自訂 [選項] 頁。
應用程式可能不使用 automation 模型來實作支援工具選項網頁的內容及設定值。
這可能需要幾個原因:
設定由工具選項頁面是單純在結構中的相對較一般的自動化內容模型的支援。
若要防止其他應用程式無法以程式設計方式管理需要其工具選項頁面。
特殊的存取控制或安全性功能是必要的。
在這些情況下,都可以實作 VSPackages 工具選項頁以任何方式所適用的支援。 不過,它們必須:
處理的設定值工具選項頁面內容。
管理的保存性工具選項頁面透過狀態Visual Studio設定。
提供一套 API,必要時,其他的應用程式,可以使用工具選項頁面。
內容的字型和色彩 對話方塊是一個範例 工具選項無法修改透過自動化模型的頁面。 相反地,提供不同的 API,根據IVsFontAndColorDefaults介面,以允許以程式設計方式操作的字型和色彩工具選項頁面。 如需有關控制字型和色彩工具選項頁面上,請參閱字型。
工具選項頁,在受管理的封裝架構中的自動化支援
設定SupportsAutomation的登錄實作的屬性, ProvideOptionPageAttribute ,以表示您的執行個體的管理套件架構基底實作工具選項頁面支援自動化。
工具選項頁面衍生自DialogPage會提供預設的自動化物件,來覆寫。
如果工具選項 頁面實作不支援自動化,實作必須提供自己的 API,以允許以程式設計方式存取 工具選項頁面。
![]() |
---|
IDE 的字型和色彩 頁面是範例 工具選項 不支援自動化,但可存取的網頁 工具選項逐頁查看自己的 API。如需詳細資訊,請參閱 字型。 |