ProvideOptionPageAttribute 类   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此属性应用于独立对象,以允许用户通过自定义“工具选项”页配置 VSPackage。
public ref class ProvideOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttributepublic 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 ProvideOptionDialogPageAttributePublic NotInheritable Class ProvideOptionPageAttribute
Inherits ProvideOptionDialogPageAttribute- 继承
- 属性
示例
在下面的示例中, 的ProvideOptionPageAttribute实例应用于 VSPackage 实现,以注册派生自 DialogPage的类DesignerOptionsPage,为 VSPackage 提供“工具选项”页。
派生自 DialogPage 的类提供 Visual Studio 设置功能的默认实现,可以重写该功能。 如果(如示例中所示)应用于 VSPackage 实现, ProvideProfileAttribute IDE 将使用此 Visual Studio 设置支持。 有关 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 的用户提供配置访问权限。
特性上下文
| 适用于 | VSPackage 允许通过通过托管包框架或使用 Visual Studio SDK 代码实现的DialogPage自定义“工具选项”页进行配置。 | 
| 可重复 | 是 | 
| 必需属性 | DefaultRegistryRootAttribute | 
| 无效的特性 | 无 | 
对调用者的说明
此属性仅用于注册目的,不会影响代码的运行时行为。
将 ProvideOptionPageAttribute 实现 IProfileManager 或 DialogPage 的给定类注册为提供特定的 VSPackage 支持,以便通过 Visual Studio 设置机制保留部分或全部 VSPackage 状态。 实现类保留的状态信息称为 Visual Studio 设置类别,其定义项在注册表中称为自定义设置点。
注意
加载基于托管包框架的自定义 “工具选项” 页时,IDE 将注册的对象实例化为实现该对象 ProvideOptionPageAttribute 。 托管包框架 工具选项 页支持应在其自己的对象上实现,而不是在 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 | 包含页面父类别的本地化说明的资源的 ID。 仅当 SupportsAutomation == true 和 SupportsProfiles == true 时,才使用此属性。 本地化说明显示在导入/导出设置向导中。 | 
| CategoryName | 获取“工具选项”页类别的规范非局部化名称。 | 
| CategoryPackageGuid | 拥有此页所注册类别的包的 ID。 如果未设置,则假定包是应用此属性的包。 仅当 SupportsAutomation == true 和 SupportsProfiles == true 时,才使用此属性。 使用 Guid.ToString (“B”) 从 Guid 生成此代码。 | 
| CategoryResourceID | 获取“工具选项”页的类别资源 ID。 | 
| DescriptionResourceId | 包含页面的本地化说明的资源的 ID。 仅当 SupportsAutomation == true 和 SupportsProfiles == true 时,才使用此属性。 本地化说明显示在导入/导出设置向导中。 | 
| IsInUnifiedSettings | 获取或设置一个值,该值指示此页面中的设置是否已通过创建新注册加入到统一设置。 如果为 true,则启用统一设置时隐藏页面,因此其设置不会重复。 | 
| IsServerAware | 获取或设置一个值,该值指示此页面的 UI 是否显示通过使用 ISettingsManager3 或具有类似功能的 API 在连接的客户端-服务器方案中与服务器同步的设置。 | 
| Keywords | 获取此选项页的可搜索关键字。 每个关键字 (keyword) 可以是文本字符串、 (前缀为“@”/“#”的资源名称/ID ) 指向单个关键字 (keyword) ,或者 (前缀为“@”/“#”的资源名称/ID ) 指向以分号分隔的关键字列表。 | 
| NoShowAllView | 获取或设置是否显示聚合的“工具选项”页。 | 
| PageName | 获取“工具选项”页的规范非局部化名称。 | 
| PageNameResourceId | 获取页面的名称资源 ID。(继承自 ProvideOptionDialogPageAttribute) | 
| PageType | 获取页面的类型。(继承自 ProvideOptionDialogPageAttribute) | 
| ProfileMigrationType | 设置配置文件迁移类型。 | 
| ProvidesLocalizedCategoryName | 确定包是否具有类别名称的本地化资源。 | 
| Sort | 选项页的排序顺序。 选项页按以下顺序排序:  | 
| SupportsAutomation | 获取“工具选项”页实现是否支持自动化。 | 
| SupportsProfiles | 获取或设置“工具选项”页实现是否使用 Visual Studio 设置机制来保留其状态。 | 
| TypeId | 获取 的 ProvideOptionPageAttribute当前实例。 | 
| UnifiedSettingsCategoryMoniker | 对于 = IsInUnifiedSettings false 的页面,获取或设置统一设置层次结构中父类别的名字对象。 这可以是已存在的名字对象,也可以是存在的名字对象加上一个附加的“.”。-delimited 段。 如果为后者,则会在统一设置层次结构中创建名为 CategoryResourceID 的新类别,并在其中插入此页面。 否则,此页面将插入到现有类别下。 | 
| VisibilityCmdUIContexts | 以分号分隔的 UIContext GUID 列表。 当列表中的任何 UIContext 处于活动状态时,选项页可见。 如果未指定此选项,则选项页始终可见。 | 
方法
| GetPackageRegKeyPath(Guid) | 获取相对于 VSPackage 的应用程序) 注册表根目录 (注册表路径。(继承自 RegistrationAttribute) | 
| Register(RegistrationAttribute+RegistrationContext) | 注册“工具选项”页。 | 
| Unregister(RegistrationAttribute+RegistrationContext) | 从注册表中删除“工具选项”页键。 |