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 或。 |
可重复 |
是 |
必需的特性 |
|
无效的特性 |
无 |
调用方的说明
此属性用于注册目的仅使用,并且不影响代码的运行时行为。
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 命名空间