ProvideLanguageServiceAttribute 类
请注意 Visual Studio VSPackage 提供语言服务。 用于管理的包结构 (MPF)。
继承层次结构
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideLanguageServiceAttribute
命名空间: Microsoft.VisualStudio.Shell
程序集: Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)
语法
声明
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideLanguageServiceAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageServiceAttribute : RegistrationAttribute
ProvideLanguageServiceAttribute 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
![]() |
ProvideLanguageServiceAttribute | 初始化 Shell.ProvideLanguageServiceAttribute 类的新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
![]() |
AutoOutlining | 确定语言服务是否支持自动大纲显示。 |
![]() |
CodeSense | 确定语言服务是否支持 IntelliSense 操作。 |
![]() |
CodeSenseDelay | ,在分析操作开始支持 IntelliSense 操作之前,确定时间。 |
![]() |
DebuggerLanguageExpressionEvaluator | 确定为计算表达式的表达式计算器。 |
![]() |
DefaultToInsertSpaces | 确定设置为 选项 对话框的 插入空格 选项的默认语言服务的。 |
![]() |
DefaultToNonHotURLs | 确定最初设置在 选项 对话框的 启用单击 URL 导航 选项。 |
![]() |
EnableAdvancedMembersOption | 确定 隐藏高级成员 选项是否在 选项 对话框中启用。 |
![]() |
EnableAsyncCompletion | 确定该语言是否支持背景分析。 |
![]() |
EnableCommenting | 确定语言服务使用一条命令,是否可以注释和取消对源代码。 |
![]() |
EnableFormatSelection | 确定语言服务是否支持源代码的自动套用格式。 |
![]() |
EnableLineNumbers | 确定 行号 选项是否在 选项 对话框中选择。 |
![]() |
HideAdvancedMembersByDefault | 确定 隐藏高级成员 选项的初始状态在 " 选项 " 对话框中。 |
![]() |
LanguageName | 基础结构。返回该语言的名称。 |
![]() |
LanguageResourceID | 基础结构。返回使用的资源 ID 获取语言名称的本地化版本。 |
![]() |
LanguageServiceSid | 基础结构。返回语言服务的 GUID。 |
![]() |
MatchBraces | 确定语言服务是否支持匹配的语言为。 |
![]() |
MatchBracesAtCaret | 确定语言服务是否支持匹配的语言为,在键入时。 |
![]() |
MaxErrorMessages | 确定语言服务可以用于分析操作在报告错误消息的最大数目。 |
![]() |
QuickInfo | 确定语言服务是否支持 IntelliSense 快速信息的。 |
![]() |
RequestStockColors | 确定是否使用内置可着色项如 Visual Studio提供语言服务。 |
![]() |
ShowCompletion | 确定 语句完成 选项是否在 选项 对话框中启用。 |
![]() |
ShowDropDownOptions | 确定 导航栏 选项是否在 选项 对话框中启用。 |
![]() |
ShowHotURLs | 确定 URL 是否显示方式与显示它们可以单击。不使用此选项。 |
![]() |
ShowMatchingBrace | 确定匹配是否在状态栏语言对于显示。 |
![]() |
ShowSmartIndent | 确定 智能缩进 选项是否在 选项 对话框中启用。 |
![]() |
SingleCodeWindowOnly | 确定是否 窗口 - AMP_GT 新窗口 命令的语言服务被禁用。 |
![]() |
SupportCopyPasteOfHTML | 确定语言服务是否支持剪贴板格式 HTML 的复制和粘贴操作。 |
![]() |
TypeId | 获取此属性的当前实例。 (继承自 RegistrationAttribute。) |
页首
方法
名称 | 说明 | |
---|---|---|
![]() |
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。) |
页首
备注
特定于 Visual C#) 的此用户定义的属性 (用于提供必要的信息注册语言服务。 Visual Studio。 此属性指定的值存储为元数据程序集中。 此元数据由一个程序将在以后用于例如 regpkg.exe (的一部分 VSIP SDK) 创建通知语言服务的 Visual Studio 的相应注册表项和项。
ProvideLanguageServiceAttribute 影响的注册表项位于以下注册表项下:
HKEY_LOCAL_MACHINE\
SOFTWARE\
Microsoft\
VisualStudio\
[X.Y]\
Languages\
Language Services\
[language name]\
(Default) = reg_sz: [Language Service GUID]
Package = reg_sz: [Package GUID]
LangResID = reg_dword: [language name resource ID]
其中 [X.Y] 是 Visual Studio的版本,例如, 8.0Exp 和 [语言名称] 是该语言的名称 (在对 ProvideLanguageServiceAttribute 类构造函数的第二个参数中指定)。
备注
所影响的每个属性指定确切的注册表项,以便这些项在上述示例中未显示。这些附加输入项显示在级别和显示的三项相同。
类构造函数指定最少量必需的参数。 用户定义的特性类还支持选项命名参数。 这些命名参数在构造函数中指定必需的形参之后。 支持获取和设置运算符的所有此类中的属性可指定为命名参数。 示例演示如何使用命名参数。
备注
某些命名参数是特定于托管包结构 (MPF),并且在每个属性声明注意。
以下用户定义的属性为语言服务使用:
特性 |
说明 |
---|---|
ProvideLanguageServiceAttribute |
注册 Visual Studio 的语言服务并指定哪些功能支持。 |
将文件扩展名与语言服务。 |
|
为选项 " 对话框明确指定属性节点或页中语言服务。 |
|
在语言服务中指定位置信息支持代码段。 |
|
注册语言服务作为 Visual Studio 服务。 在托管代码中使用提供的所有服务此属性。 |
对实现者的说明
此特性类不能继承因此没有任何实现。
对调用者的说明
此特性类通常会应用于母版 VSPackage 类,不过,它可以出现在任何类。 此类应为 VSPackage 支持的每种语言服务只出现一次。
示例
此示例演示此用户定义的属性如何在注册支持 IntelliSense 操作,匹配的大括号,异步的语言服务 (背景) 分析和自定义可着色项。
备注
Visual C# 允许用户定义的属性的简短窗体中删除该名称的 “属性”部分。本快速输入窗体用于此和此类中的其他示例。
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
internal class MyConstants
{
public const string languageName = "MyLanguage";
public const int languageNameResourceID = 106;
}
[ProvideLanguageService(typeof(MyLanguageService),
MyConstants.languageName,
MyConstants.languageNameResourceID,
// Optional language service properties
CodeSense = true, // General IntelliSense support
RequestStockColors = false, // Custom colorable items
EnableASyncCompletion = true, // supports background parsing
MatchBraces = true, // Match braces on command
MatchBracesAtCaret = true // Match braces while typing
)]
class MyLanguagePackage
{
}
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。