Udostępnij za pośrednictwem


ProvideLanguageExtensionAttribute Klasa

Definicja

Kojarzy rozszerzenie pliku z określoną usługą językową.

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
Dziedziczenie
ProvideLanguageExtensionAttribute
Atrybuty

Przykłady

W tym przykładzie pokazano, jak skojarzyć rozszerzenie pliku ".myext" z usługą językową.

Uwaga

Język Visual C# umożliwia skróconą postać atrybutu zdefiniowanego przez użytkownika przez usunięcie części "Atrybut" nazwy. Ten skrócony formularz jest używany w tym i wszystkich innych przykładach w tej klasie.

using Microsoft.VisualStudio.Shell;  

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

Uwagi

Ten atrybut języka C# zdefiniowany przez użytkownika służy do rejestrowania w programie Visual Studio rozszerzenia pliku dla określonej usługi językowej. Ten atrybut umieszcza niezbędne informacje w metadanych zestawu, które są później pobierane i używane przez regpkg.exe. Nadal musisz zarejestrować usługę językową; ten atrybut powoduje tylko skojarzenie między rozszerzeniem pliku a usługą językową. Aby uzyskać więcej informacji, zobacz Rejestrowanie pakietów VSPackages.

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

Klucz rejestru, którego dotyczy ten atrybut, istnieje w kluczu rejestru programu Visual Studio:

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

gdzie:

  • [X.Y] to numer wersji programu Visual Studio, taki jak 8.0 lub 8.0exp.

  • [FileExtension] to ciąg zawierający rozszerzenie pliku z okresem wiodącym; na przykład "myext".

  • [LanguageServiceGuid] to identyfikator GUID usługi językowej; 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ługę językową w programie Visual Studio i określa, jakie funkcje są obsługiwane.
ProvideLanguageExtensionAttribute Kojarzy rozszerzenie pliku z usługą językową.
ProvideLanguageEditorOptionPageAttribute Określa węzeł właściwości lub stronę okna dialogowego Opcje specyficzne dla usługi językowej.
ProvideLanguageCodeExpansionAttribute Określa informacje o lokalizacji do obsługi fragmentów kodu w usłudze językowej.
ProvideServiceAttribute Rejestruje usługę językową jako usługę Visual Studio. Wszystkie usługi dostarczone w kodzie zarządzanym używają tego atrybutu.

Uwagi dotyczące dziedziczenia

Nie można dziedziczyć tej klasy atrybutu, więc nie ma nic do zaimplementowania.

Uwagi dotyczące wywoływania

Użyj tego atrybutu w elemecie VSPackage, aby skojarzyć rozszerzenie pliku z usługą językową.

Konstruktory

ProvideLanguageExtensionAttribute(String, String)

Inicjuje nowe wystąpienie atrybutu ProvideLanguageExtensionAttribute przy użyciu określonego identyfikatora GUID usługi językowej.

ProvideLanguageExtensionAttribute(Type, String)

Inicjuje nowe wystąpienie atrybutu ProvideLanguageExtensionAttribute przy użyciu typu klasy usługi językowej.

Właściwości

Extension

Zwraca skojarzone rozszerzenie pliku.

LanguageService

Zwraca identyfikator GUID języka.

TypeId

Zastąp właściwość TypeID, aby umożliwić klasom pochodnym RegistrationAttribute pracować z atrybutem System.ComponentModel.TypeDescriptor.GetAttributes(...). Atrybut pochodzący z tego atrybutu będzie musiał zastąpić tę właściwość tylko wtedy, gdy potrzebuje lepszej kontroli nad wystąpieniami, które można zastosować do klasy.

(Odziedziczone po RegistrationAttribute)

Metody

GetPackageRegKeyPath(Guid)

Pobiera ścieżkę rejestru (względem katalogu głównego rejestru aplikacji) pakietu VSPackage.

(Odziedziczone po RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Umieszcza rozszerzenie pliku i identyfikator GUID usługi językowej w rejestrze.

Unregister(RegistrationAttribute+RegistrationContext)

Usuwa rozszerzenie pliku i identyfikator GUID usługi językowej z rejestru.

Dotyczy