共用方式為


ProvideOptionPageAttribute 類別

定義

將此屬性套用至獨立物件,以允許使用者透過自定義工具選項頁面設定 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

選項頁面的排序順序。 選項頁面會依下列順序排序:

1.  The General page
2.  Pages with a Sort value, sorted from low to high.
3.  Pages without a Sort value, sorted alphabetically.
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)

從登錄中移除 [工具選項] 頁面機碼。

適用於