ProvideLanguageExtensionAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Связывает расширение файла с указанной языковой службой.
public ref class ProvideLanguageExtensionAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageExtensionAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageExtensionAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageExtensionAttribute = class
inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageExtensionAttribute
Inherits RegistrationAttribute
- Наследование
- Атрибуты
Примеры
В этом примере показано, как связать расширение файла myext с языковой службой.
Примечание
Visual C# позволяет использовать сокращенную форму определяемого пользователем атрибута, удалив часть "Атрибут" имени. Эта сокращенная форма используется в этом и во всех других примерах этого класса.
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
[ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]
public class MyLanguagePackage : Package
{
}
}
Комментарии
Этот пользовательский атрибут 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}
.
Для языковых служб используются следующие определяемые пользователем атрибуты:
attribute | Описание |
---|---|
ProvideLanguageServiceAttribute | Регистрирует языковую службу в Visual Studio и указывает поддерживаемые функции. |
ProvideLanguageExtensionAttribute | Связывает расширение файла с языковой службой. |
ProvideLanguageEditorOptionPageAttribute | Указывает узел или страницу свойств для диалогового окна Параметры, относяскогося к языковой службе. |
ProvideLanguageCodeExpansionAttribute | Указывает сведения о расположении для поддержки фрагментов кода в языковой службе. |
ProvideServiceAttribute | Регистрирует языковую службу в качестве службы Visual Studio. Все службы, предоставляемые в управляемом коде, используют этот атрибут. |
Примечания для тех, кто наследует этот метод
Этот класс атрибута не может быть унаследован от , поэтому реализовать нечего.
Примечания для тех, кто вызывает этот метод
Используйте этот атрибут в VSPackage, чтобы связать расширение файла с языковой службой.
Конструкторы
ProvideLanguageExtensionAttribute(String, String) |
Инициализирует новый экземпляр атрибута ProvideLanguageExtensionAttribute с помощью указанного GUID языковой службы. |
ProvideLanguageExtensionAttribute(Type, String) |
Инициализирует новый экземпляр атрибута ProvideLanguageExtensionAttribute, используя тип класса языковой службы. |
Свойства
Extension |
Возвращает связанное расширение файла. |
LanguageService |
Возвращает GUID языка. |
TypeId |
Переопределите свойство TypeID, чтобы разрешить производным классам RegistrationAttribute работать с System.ComponentModel.TypeDescriptor.GetAttributes(...). Атрибут, производный от этого , должен переопределять это свойство только в том случае, если ему требуется более качественный контроль над экземплярами, которые можно применить к классу. (Унаследовано от RegistrationAttribute) |
Методы
GetPackageRegKeyPath(Guid) |
Получает путь в реестре (относительно корня реестра приложения) VSPackage. (Унаследовано от RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Помещает GUID расширения файла и языковой службы в реестр. |
Unregister(RegistrationAttribute+RegistrationContext) |
Удаляет расширение файла и GUID языковой службы из реестра. |