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 设置功能的默认实现,可以重写该功能。 如果(如示例中所示)应用于 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) |
从注册表中删除“工具选项”页键。 |