ProvideOptionPageAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將此屬性套用至獨立物件,以允許使用者透過自定義工具選項頁面設定 VSPackage。
public ref class ProvideOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
public ref class ProvideOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideOptionPageAttribute : Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideOptionPageAttribute = class
inherit ProvideOptionDialogPageAttribute
Public NotInheritable Class ProvideOptionPageAttribute
Inherits ProvideOptionDialogPageAttribute
- 繼承
- 屬性
範例
在下列範例中,的ProvideOptionPageAttribute實例會套用至 VSPackage 實作,以註冊 衍生自 DialogPage的類別DesignerOptionsPage
,如同使用 [工具選項] 頁面提供 VSPackage。
衍生自 DialogPage 的類別會以可覆寫的Visual Studio設定功能的預設實作提供。 如果如範例所示, ProvideProfileAttribute IDE 會使用此 Visual Studio 設定支援,並套用至 VSPackage 實作。 如需 Visual Studio 設定支援的詳細資訊,請參閱 擴充使用者設定和選項。
using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]
[ProvideOptionPage(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1000, 1001, true)]
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
[ProvideProfileAttribute(typeof(PersistCurrentDesign), "MyDesigner","CurrentDesign", 1004, 1005, false)]
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}
[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}
[Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ")]
internal class PersistCurrentDesign: IProfileManager {
//Implementation here
}
備註
實作者的注意事項
將 ProvideOptionPageAttribute 套用至實作 VSPackage 的類別。 此屬性可讓您註冊特定獨立物件,以透過自定義 工具選項 頁面提供 VSPackage 的使用者設定存取權。
屬性內容
適用於 | VSPackages 允許透過透過 Managed Package Framework 或 DialogPage Visual Studio SDK 程式代碼實作的自定義工具選項頁面進行設定。 |
可重複 | Yes |
必要的屬性 | DefaultRegistryRootAttribute |
無效屬性 | 無 |
來電者的注意事項
此屬性僅用於註冊目的,且不會影響程式代碼的運行時間行為。
會 ProvideOptionPageAttribute 註冊實作 IProfileManager 的指定類別,或 DialogPage 透過Visual Studio設定機制提供保存部分或所有 VSPackage 狀態的特定 VSPackage 支援。 實作類別所保存的狀態資訊稱為 Visual Studio 設定類別,而其在登錄中的定義專案稱為自定義設定點。
注意
載入 Managed Package Framework 型自訂 工具選項 頁面時,IDE 會將 註冊的物件 ProvideOptionPageAttribute 具現化為實作物件。 Managed Package Framework Tools 選項 頁面支持應該在其本身的對象上實作,而不是在 VSPackage 本身上實作。
如需建立和套用 實體 ProvideOptionPageAttribute的詳細資訊,請參閱下列範例和 ProvideOptionPageAttribute。
建構函式
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, Int32) |
具現化 ProvideOptionPageAttribute 的新實例。 |
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, String) |
具現化 ProvideOptionPageAttribute 的新實例。 |
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, String[]) |
具現化 ProvideOptionPageAttribute 的新實例。 |
屬性
CategoryDescriptionResourceId |
資源標識碼,其中包含頁面父類別目錄的當地語系化描述。 只有在 SupportsAutomation == true 和 SupportsProfiles == true 時,才會使用這個屬性。 本地化的描述會出現在匯入/匯出設定精靈中。 |
CategoryName |
取得 [工具選項] 頁面類別的標準非本地化名稱。 |
CategoryPackageGuid |
擁有此頁面註冊所在類別之套件的標識碼。 如果未設定,則會假設封裝是套用此屬性的套件。 只有在 SupportsAutomation == true 和 SupportsProfiles == true 時,才會使用這個屬性。 使用 Guid.ToString (“B”) 從 Guid 產生此值。 |
CategoryResourceID |
取得 [工具選項] 頁面的類別資源識別碼。 |
DescriptionResourceId |
資源標識碼,其中包含頁面的當地語系化描述。 只有在 SupportsAutomation == true 和 SupportsProfiles == true 時,才會使用這個屬性。 本地化的描述會出現在匯入/匯出設定精靈中。 |
IsInUnifiedSettings |
取得或設定值,指出此頁面中的設定是否已透過建立新的註冊,上線至整合設定。 如果為 true,則會在啟用整合設定時隱藏頁面,因此不會複製其設定。 |
IsServerAware |
取得或設定值,指出此頁面的UI是否會使用ISettingsManager3或具有類似功能的API,在連線的用戶端-伺服器案例中顯示與伺服器同步的設定。 |
Keywords |
取得這個選項頁面的可搜尋關鍵詞。 每個關鍵詞可以是常值字串、以 “@”/“#” () 開頭為 “@”/“#”) ,或是以 “@”/“#” 開頭 (前面加上 “@”/“#” 的資源名稱/標識符,) 指向以分號分隔的關鍵詞清單。 |
NoShowAllView |
取得或設定是否顯示匯總的工具選項頁面。 |
PageName |
取得 [工具選項] 頁面的正式非本地化名稱。 |
PageNameResourceId |
取得頁面的名稱資源識別碼。 (繼承來源 ProvideOptionDialogPageAttribute) |
PageType |
取得頁面的類型。 (繼承來源 ProvideOptionDialogPageAttribute) |
ProfileMigrationType |
設定設定檔移轉類型。 |
ProvidesLocalizedCategoryName |
判斷套件是否具有類別名稱的當地語系化資源。 |
Sort |
選項頁面的排序順序。 選項頁面會依下列順序排序:
|
SupportsAutomation |
取得工具選項頁面實作是否支援自動化。 |
SupportsProfiles |
取得或設定 [工具選項] 頁面實作是否使用 Visual Studio 設定機制來保存其狀態。 |
TypeId |
取得的目前實例 ProvideOptionPageAttribute。 |
UnifiedSettingsCategoryMoniker |
對於 = IsInUnifiedSettings false 的頁面,取得或設定整合設定階層中父類別的 Moniker。 這可以是已經存在的Moniker,或存在一個加上一個額外的 '.'-delimited 區段。 如果後者,則會在整合設定階層中建立名為 CategoryResourceID 的新類別,並將此頁面插入其中。 否則,此頁面會插入現有類別之下。 |
VisibilityCmdUIContexts |
UIContext GUID 的分號分隔清單。 當清單中的任何 UIContext 為使用中時,就會顯示選項頁面。 如果未指定此選項,則一律會顯示選項頁面。 |
方法
GetPackageRegKeyPath(Guid) |
取得相對於 VSPackage 應用程式) 之登錄根目錄的登錄路徑 (。 (繼承來源 RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
註冊 [工具選項] 頁面。 |
Unregister(RegistrationAttribute+RegistrationContext) |
從登錄中移除 [工具選項] 頁面機碼。 |