Поделиться через


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
Наследование
ProvideLanguageExtensionAttribute
Атрибуты

Примеры

В этом примере показано, как связать расширение файла 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 языковой службы из реестра.

Применяется к