ProvideLanguageEditorOptionPageAttribute 类

定义

提供用于设置语言服务的编辑器工具选项页的常规方法。

public ref class ProvideLanguageEditorOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
public ref class ProvideLanguageEditorOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageEditorOptionPageAttribute : Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageEditorOptionPageAttribute = class
    inherit ProvideOptionDialogPageAttribute
Public NotInheritable Class ProvideLanguageEditorOptionPageAttribute
Inherits ProvideOptionDialogPageAttribute
继承
ProvideLanguageEditorOptionPageAttribute
属性

示例

此示例演示如何使用此用户定义的属性注册两个属性页 (“常规”和“缩进”) ,以及包含“Indent”属性页 (“Formatting”) 的属性页节点。 请注意构造函数的第二个参数如何指定注册表中相对于节点的位置。

注意

Visual C# 通过删除名称的“Attribute”部分,允许用户定义属性的简写形式。 此速记形式在本类和所有其他示例中使用。

using Microsoft.VisualStudio.Shell;  

namespace MyLanguagePackage  
{  
    internal class MyConstants  
    {  
        public const string languageName                = "MyLanguage";  
        public const string formattingNodeResIDAsString = "#108";  
        public const string generalPageResIDAsString    = "#109";  
        public const string indentPageResIDAsString     = "#110";  
    }  

    [ProvideLanguageEditorOptionPage(MyConstants.languageName,  
                                     "General",  // property page  
                                     MyConstants.generalPageResIDAsString,  
        // Optional language service properties  
        OptionPageGuid = "{12434534-cecd-48e7-a866-45cad2e8b169}"  
                                    )]  
    [ProvideLanguageEditorOptionPage(MyConstants.languageName,  
                                     "Formatting",  // property node  
                                     MyConstants.formattingNodeResIDAsString  
                                    )]  
    [ProvideLanguageEditorOptionPage(MyConstants.languageName,  
                                     @"Formatting\Indent",  // property page  
                                     MyConstants.indentPageResIDAsString,  
        // Optional language service properties  
        OptionPageGuid = "{12434556-cecd-48e7-a866-45cad2e8b169}"  
                                    )]  

    class MyLanguagePackage  
    {  
    }  
}  

注解

此信息存储在注册表项 <RegistrationRoot>\Languages\Language Services\[language]\EditorToolsOptions 中,其中 [language] 是语言的名称。

EditorToolsOptions 下是一个页面和子页面树,可以嵌套任意数量的级别。 这些页面对应于编辑器 (Visual Studio Tools选项页中显示的选项页,其中选项页树显示在语言名称下,每个页面包含相应的选项) 。

此选项页列表中的每个键都包含一个资源 ID 或文本字符串,其中包含页面的本地化名称。 这是“工具选项”对话框中实际显示的内容。 此外,它还包含包 GUID 和选项页的 GUID(可选)。

如果没有选项页 GUID,则键被视为选项树中的节点,并且没有关联的页。 否则,键是树中的一个叶,将显示其选项页。

此属性可以有多个实例,每个实例指定一个节点或属性页。 属性可以按任意顺序显示。 如果指定了属性页 GUID,则注册属性页,否则它是已注册的节点。

以下用户定义的属性用于语言服务:

Attribute 说明
ProvideLanguageServiceAttribute 向 Visual Studio 注册语言服务,并指定支持的功能。
ProvideLanguageExtensionAttribute 将文件扩展名与语言服务相关联。
ProvideLanguageEditorOptionPageAttribute 指定特定于语言服务的“选项”对话框的属性节点或页。
ProvideLanguageCodeExpansionAttribute 指定位置信息以支持语言服务中的代码片段。
ProvideServiceAttribute 将语言服务注册为 Visual Studio 服务。 托管代码中提供的所有服务都使用此属性。

继承者说明

无法从 继承此属性类,因此无需实现任何内容。

调用方说明

此属性类通常应用于主 VSPackage 类,尽管它可以出现在任何类上。 此属性类可以多次以任意顺序出现,对于属性页树中的每个属性页和节点一次。

构造函数

ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, Int32)

实例化 ProvideLanguageEditorOptionPageAttribute 的新实例。

ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String)

实例化 ProvideLanguageEditorOptionPageAttribute 的新实例。

ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String[])

实例化 ProvideLanguageEditorOptionPageAttribute 的新实例。

属性

IsInUnifiedSettings

获取或设置一个值,该值指示此页面中的设置是否已通过创建新注册加入到统一设置。 如果为 true,则启用统一设置时隐藏页面,因此其设置不会重复。

Keywords

获取关键字。

LanguageName

获取语言的名称。

PageGuid

获取选项页的 GUID。

PageNameResourceId

获取页面的名称资源 ID。

(继承自 ProvideOptionDialogPageAttribute)
PageType

获取页面的类型。

(继承自 ProvideOptionDialogPageAttribute)
TypeId

重写 TypeID 属性,以便让 RegistrationAttribute 派生类与 System.ComponentModel.TypeDescriptor.GetAttributes 一起使用 (...) 。仅当派生自此属性的属性需要对可应用于类的实例使用更好的控件时,它才必须重写此属性。

(继承自 RegistrationAttribute)

方法

GetPackageRegKeyPath(Guid)

获取相对于 VSPackage 的应用程序) 注册表根目录 (注册表路径。

(继承自 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

创建类构造函数指定的所有注册表项和条目。

Unregister(RegistrationAttribute+RegistrationContext)

删除所有注册表项和条目。

适用于