Udostępnij za pośrednictwem


Klasa ProvideLanguageExtensionAttribute

Kojarzy rozszerzenie pliku z usługi określonego języka.

Hierarchia dziedziczenia

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideLanguageExtensionAttribute

Przestrzeń nazw:  Microsoft.VisualStudio.Shell
Zestaw:  Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)

Składnia

'Deklaracja
<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

Typ ProvideLanguageExtensionAttribute uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna ProvideLanguageExtensionAttribute(String, String) Inicjuje nowe wystąpienie ProvideLanguageExtensionAttribute atrybutu, przy użyciu identyfikatora GUID usługi określony język.
Metoda publiczna ProvideLanguageExtensionAttribute(Type, String) Inicjuje nowe wystąpienie ProvideLanguageExtensionAttribute atrybutu przy użyciu typu klasy usług językowych.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna Extension Zwraca skojarzone rozszerzenie.
Właściwość publiczna LanguageService Zwraca identyfikator GUID języka.
Właściwość publiczna TypeId Pobiera bieżące wystąpienie tego atrybutu. (Odziedziczone z RegistrationAttribute).

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna GetHashCode Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute).
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna IsDefaultAttribute Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute).
Metoda publiczna Match Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna Register Umieszcza plik rozszerzenia języka usługę i identyfikator GUID do rejestru. (Zastępuje RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).
Metoda publiczna Unregister Usuwa plik rozszerzenia języka usługę i identyfikatora GUID z rejestru. (Zastępuje RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetIDsOfNames Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfo Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfoCount Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.Invoke Zapewnia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone z Attribute).

Początek

Uwagi

Zdefiniowane przez użytkownika języka C# atrybut ten jest stosowany do rejestrowania z Visual Studio rozszerzenie pliku dla usługi określonego języka.Atrybut ten umieszcza informacje niezbędne do zestawu metadanych, później pobrane i wykorzystywana przez regpkg.exe.Nadal należy zarejestrować usługi języka Ten atrybut tylko sprawia, że skojarzenie między rozszerzeniem i służby językowej.Aby uzyskać więcej informacji, zobacz Rejestrowanie VSPackages.

Aby skojarzyć wiele rozszerzeń plików z usługą języka, można użyć wielu wystąpień tego atrybutu.

Klucz rejestru, którego dotyczy ten atrybut istnieje pod Visual Studio klucza rejestru:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\
  Languages\
    File Extensions\
      [FileExtension]\
        (Default) = RG_SZ: [LanguageServiceGuid]

w przypadku gdy:

  • [X.Y] jest Visual Studio numer wersji, takich jak 8.0 lub 8.0exp.

  • [FileExtension] jest ciągiem znaków zawierającym rozszerzenie pliku z wiodących okres; na przykład, "myext".

  • [LanguageServiceGuid] jest identyfikatorem GUID usługi języka; na przykład {B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}.

Następujące atrybuty zdefiniowane przez użytkownika są używane dla usług językowych:

Atrybut

Opis

ProvideLanguageServiceAttribute

Rejestruje usługi języka z Visual Studio i określa, jakie funkcje są obsługiwane.

ProvideLanguageExtensionAttribute

Kojarzy rozszerzenie pliku z usługi języka.

ProvideLanguageEditorOptionPageAttribute

Określa właściwość węzła lub strony w oknie dialogowym Opcje specyficzne dla usługi języka.

ProvideLanguageCodeExpansionAttribute

Określa informacje o lokalizacji, do obsługi wstawki kodu programu w służbie językowej.

ProvideServiceAttribute

Rejestruje służbie językowej jako Visual Studio usługi.Wszystkie usługi świadczone w użyciu kodu zarządzanego ten atrybut.

Uwagi dotyczące implementacji

Ten atrybut klasy nie może być dziedziczona z, więc nie ma nic do wprowadzenia w życie.

Uwagi dotyczące wywoływania

Atrybutu tego można użyć na swoje VSPackage, aby skojarzyć rozszerzenie pliku z usługą języka.

Przykłady

W tym przykładzie przedstawiono skojarzyć rozszerzenie pliku ".myext" z usługą języka.

[!UWAGA]

Visual C#pozwala na formularzu skróconym atrybutu user-defined przez upuszczenie "Atrybutu" część nazwy.Tego formularza skróconego jest używany w tym i innymi przykładami całej tej klasy.

using Microsoft.VisualStudio.Shell;

namespace MyLanguagePackage
{
    [ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]
    public class MyLanguagePackage : Package
    {
    }
}

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Shell