ProvideOptionPageAttribute 类

将此特性应用于单个对象允许用户通过自定义 工具选项 页配置 Vspackage。

继承层次结构

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
        Microsoft.VisualStudio.Shell.ProvideOptionPageAttribute

命名空间:  Microsoft.VisualStudio.Shell
程序集:  Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)

语法

声明
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideOptionPageAttribute _
    Inherits ProvideOptionDialogPageAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideOptionPageAttribute : ProvideOptionDialogPageAttribute

ProvideOptionPageAttribute 类型公开以下成员。

构造函数

  名称 说明
公共方法 ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean) 初始化指示的 ProvideOptionPageAttribute 新实例特定类实现配置为根据 工具选项 页的 VSPackage 支持的用户。
公共方法 ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, Int32)
公共方法 ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, String)
公共方法 ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, array<String[])

页首

属性

  名称 说明
公共属性 CategoryName 获取 工具选项 页的类别的规范非本地化名称。
公共属性 CategoryResourceID 获取 工具选项 页的类别资源 ID。
公共属性 Keywords
公共属性 NoShowAllView 获取或设置合成 工具选项 页是否显示。
公共属性 PageName 获取 工具选项 页的规范非本地化名称。
公共属性 PageNameResourceId 获取页的名称资源 ID。 (继承自 ProvideOptionDialogPageAttribute。)
公共属性 PageType 获取页的类型。 (继承自 ProvideOptionDialogPageAttribute。)
公共属性 ProfileMigrationType 设置配置文件迁移类型。
公共属性 ProvidesLocalizedCategoryName
公共属性 SupportsAutomation 获取 工具选项 页面实现是否支持自动化。
公共属性 SupportsProfiles 获取或设置 工具选项 页面实现是否使用 Visual Studio 设置机制保存其状态。
公共属性 TypeId 获取 ProvideOptionPageAttribute当前实例。 (重写 RegistrationAttribute.TypeId。)

页首

方法

  名称 说明
公共方法 Equals 基础结构。返回一个值,该值指示此实例是否与指定的对象相等。 (继承自 Attribute。)
公共方法 GetHashCode 返回此实例的哈希代码。 (继承自 Attribute。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 IsDefaultAttribute 当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。)
公共方法 Match 当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。)
公共方法 Register 注册 工具选项 页。 (重写 RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)
公共方法 Unregister 从注册表中移除 工具选项 页键。 (重写 RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 _Attribute.GetIDsOfNames 将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.GetTypeInfo 检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.GetTypeInfoCount 检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.Invoke 提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。)

页首

备注

实现者说明

应用 ProvideOptionPageAttribute 于实现 VSPackage 的类。 此属性启用注册特定的独立对象提供 VSPackage 为用户提供配置访问通过自定义 工具选项 页。

属性上下文

适用对象

使用 Visual Studio SDK 代码, Vspackage 通过自定义 工具选项 页允许配置实现通过托管包结构的 DialogPage 或。

可重复

必需的特性

DefaultRegistryRootAttribute

无效的特性

调用方的说明

此属性用于注册目的仅使用,并且不影响代码的运行时行为。

ProvideOptionPageAttribute 注册特定类实现 IProfileManager 的或 DialogPage 为了提供特定 VSPackage 来保持的部分或全部 VSPackage 的状态支持通过 Visual Studio 设置结构。 状态信息由实现的类仍然存在引用 Visual Studio 设置类别,其在注册表中定义的项称为自定义下落点。

备注

当托管包结构基于自定义 工具选项 页加载时, IDE 实例化 ProvideOptionPageAttribute 注册的对象作为实现它。托管包结构 工具选项 页支持应本身是实现的对象而不是 VSPackage。

有关创建并应用 ProvideOptionPageAttribute实例的更多信息,请参见该下面的示例和 ProvideOptionPageAttribute

示例

在下面的示例中, ProvideOptionPageAttribute 实例应用于注册的一个 VSPackage 实现类 DesignerOptionsPage,从 DialogPage派生,如提供 VSPackage。 工具选项 页。

DialogPage 派生的类提供 Visual Studio 设置功能的默认实现,可以重写。 ,则,该示例, ProvideProfileAttribute 适用于 VSPackage 实现, 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
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Shell 命名空间

其他资源

选项卡页

用户设置和选项

创建使用托管包框架类的选项卡页

注册自定义选项卡页