ProvideLanguageExtensionAttribute 类
将文件扩展名与特定语言服务。
继承层次结构
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideLanguageExtensionAttribute
命名空间: Microsoft.VisualStudio.Shell
程序集: Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)
语法
声明
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideLanguageExtensionAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageExtensionAttribute : RegistrationAttribute
ProvideLanguageExtensionAttribute 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
ProvideLanguageExtensionAttribute(String, String) | 使用指定的语言服务的 GUID,初始化 ProvideLanguageExtensionAttribute 属性的新实例,。 | |
ProvideLanguageExtensionAttribute(Type, String) | 使用语言服务类中,的类型初始化 ProvideLanguageExtensionAttribute 属性的新实例,。 |
页首
属性
名称 | 说明 | |
---|---|---|
Extension | 返回关联的文件扩展名。 | |
LanguageService | 返回语言 GUID。 | |
TypeId | 获取此属性的当前实例。 (继承自 RegistrationAttribute。) |
页首
方法
名称 | 说明 | |
---|---|---|
Equals | 基础结构。返回一个值,该值指示此实例是否与指定的对象相等。 (继承自 Attribute。) | |
GetHashCode | 返回此实例的哈希代码。 (继承自 Attribute。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
IsDefaultAttribute | 当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。) | |
Match | 当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。) | |
Register | 将文件扩展名和语言服务的 GUID 到注册表。 (重写 RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)。) | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) | |
Unregister | 从注册表中移除文件扩展名和语言服务的 GUID。 (重写 RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)。) |
页首
显式接口实现
名称 | 说明 | |
---|---|---|
_Attribute.GetIDsOfNames | 将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。) | |
_Attribute.GetTypeInfo | 检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。) | |
_Attribute.GetTypeInfoCount | 检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。) | |
_Attribute.Invoke | 提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。) |
页首
备注
此用户定义的 C# 特性用于具有 Visual Studio 注册文件扩展名对特定语言服务。 此属性将在密钥和 regpkg.exe 使用的必需信息到程序集的元数据。 您仍必须注册语言服务;此属性仅在文件扩展名和语言服务之间的关联。 有关更多信息,请参见 注册 Vspackage。
可以使用此特性的多个实例关联多个文件扩展名与语言服务。
受此属性的影响的注册表项存在 Visual Studio 注册表项下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\
Languages\
File Extensions\
[FileExtension]\
(Default) = RG_SZ: [LanguageServiceGuid]
其中:
[X.Y] 是一个 Visual Studio 版本号 (如 8.0 或 8.0exp。
[FileExtension] 是包含与驱动的过程的字符串文件扩展名;例如, “myext”。
[LanguageServiceGuid] 是语言服务的 GUID;例如, {B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}。
以下用户定义的属性为语言服务使用:
特性 |
说明 |
---|---|
注册 Visual Studio 的语言服务并指定哪些功能支持。 |
|
ProvideLanguageExtensionAttribute |
将文件扩展名与语言服务。 |
为选项 " 对话框明确指定属性节点或页中语言服务。 |
|
在语言服务中指定位置信息支持代码段。 |
|
注册语言服务作为 Visual Studio 服务。 在托管代码中使用提供的所有服务此属性。 |
对实现者的说明
此特性类不能继承因此没有任何实现。
对调用者的说明
使用在 VSPackage 中此属性将文件扩展名与语言服务。
示例
此示例演示如何将文件扩展名 “.myext”与语言服务。
备注
Visual C# 允许用户定义的属性的简短窗体中删除该名称的 “属性”部分。本快速输入窗体用于此和此类中的其他示例。
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
[ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]
public class MyLanguagePackage : Package
{
}
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。