Udostępnij za pośrednictwem


Klasa ProvideLanguageServiceAttribute

Informuje o Visual Studio czy VSPackage udostępnia usługę języka.Używane z ramami pakiet zarządzanych (MPF).

Hierarchia dziedziczenia

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

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 ProvideLanguageServiceAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageServiceAttribute : RegistrationAttribute

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

Konstruktorzy

  Nazwa Opis
Metoda publiczna ProvideLanguageServiceAttribute Inicjuje nowe wystąpienie Shell.ProvideLanguageServiceAttribute klasy.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna AutoOutlining Określa, czy usługa języka obsługuje automatyczne tworzenie konspektu.
Właściwość publiczna CodeSense Określa, czy usługa języka obsługuje operacje IntelliSense.
Właściwość publiczna CodeSenseDelay Określa czas, przed rozpoczęciem operacji analizy do obsługi operacji IntelliSense.
Właściwość publiczna DebuggerLanguageExpressionEvaluator Określa oceniającego wyrażenie, używany do oceny wyrażenia.
Właściwość publiczna DefaultToInsertSpaces Określa ustawienie domyślne dla Wstawianie spacji opcji w Opcje okno dialogowe obsługi języka.
Właściwość publiczna DefaultToNonHotURLs Określa ustawienie początkowe włączyć jednym kliknięciem adres URL nawigacji opcji w Opcje okno dialogowe.
Właściwość publiczna EnableAdvancedMembersOption Określa, czy Ukryj zaawansowane członków opcja jest włączona w Opcje okno dialogowe.
Właściwość publiczna EnableAsyncCompletion Określa, czy obsługuje język analizowania tła.
Właściwość publiczna EnableCommenting Określa, czy usługa języka można komentarz, a następnie usuń oznaczenie komentarza kodu źródłowego za pomocą jednego polecenia.
Właściwość publiczna EnableFormatSelection Określa, czy usługa języka obsługuje automatyczne formatowanie kodu źródłowego.
Właściwość publiczna EnableLineNumbers Określa, czy numery linii może być zaznaczona opcja w Opcje okno dialogowe.
Właściwość publiczna HideAdvancedMembersByDefault Określa początkowy stan Ukryj zaawansowane członków opcji w oknie dialogowym Opcje.
Właściwość publiczna LanguageName Infrastruktura. Zwraca nazwę języka.
Właściwość publiczna LanguageResourceID Infrastruktura. Zwraca identyfikator zasobów, używana do uzyskiwania zlokalizowana wersja nazwa języka.
Właściwość publiczna LanguageServiceSid Infrastruktura. Zwraca identyfikator GUID usługi języka.
Właściwość publiczna MatchBraces Określa, czy usługa języka obsługuje pasujące pary języka.
Właściwość publiczna MatchBracesAtCaret Określa, czy usługa języka obsługuje pasujące pary języka, podczas pisania.
Właściwość publiczna MaxErrorMessages Określa maksymalną liczbę błędów komunikat usługi języka mogą zgłaszać do analizowania operacji.
Właściwość publiczna QuickInfo Określa, czy usługa języka obsługuje technologię IntelliSense Quick Info.
Właściwość publiczna RequestStockColors Określa, czy usługa języka używa wbudowanych elementów colorable dostarczonego przez Visual Studio.
Właściwość publiczna ShowCompletion Określa, czy Kończenie instrukcji opcje są włączone w Opcje okno dialogowe.
Właściwość publiczna ShowDropDownOptions Określa, czy pasek nawigacyjny opcja jest włączona w Opcje okno dialogowe.
Właściwość publiczna ShowHotURLs Określa adresy URL są wyświetlane w taki sposób, aby pokazać, że można go kliknąć.Ta opcja nie jest używana.
Właściwość publiczna ShowMatchingBrace Określa, jeżeli pasujące pary języka jest wyświetlany w pasku stanu.
Właściwość publiczna ShowSmartIndent Określa, czy Wcięcia Smart opcja jest włączona w Opcje okno dialogowe.
Właściwość publiczna SingleCodeWindowOnly Określa, czy okna -> Nowe okno polecenia jest wyłączony dla usługi języka.
Właściwość publiczna SupportCopyPasteOfHTML Określa, czy usługa języka obsługuje format schowka HTML dla operacji kopiowania i wklejania.
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 Infrastruktura. Tworzy wszystkie klucze rejestru i wpisy podaną przez konstruktora klasy. (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 wszystkie klucze rejestru i wpisy podaną przez konstruktora klasy. (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

Ten atrybut zdefiniowane przez użytkownika (który jest specyficzny dla Visual C#) jest używany do dostarczania informacji niezbędnych do rejestrowania usługi języka z Visual Studio.Wartości określone przez ten atrybut są przechowywane jako metadane w zestawie.Metadane później jest używany przez program, takich jak regpkg.exe (część zestawu SDK VSIP) do tworzenia odpowiednich kluczy rejestru i zapisy, które informują Visual Studio o usłudze języka.

Wpisy rejestru dotkniętych ProvideLanguageServiceAttribute znajdują się w następującym kluczu rejestru:

HKEY_LOCAL_MACHINE\
  SOFTWARE\
    Microsoft\
      VisualStudio\
        [X.Y]\
          Languages\
            Language Services\
              [language name]\
                (Default) = reg_sz: [Language Service GUID]
                Package   = reg_sz: [Package GUID]
                LangResID = reg_dword: [language name resource ID]

Gdy [X.Y] jest wersją Visual Studio, na przykład, 8.0Exp, i [nazwa języka] to nazwa języka (jak określono w drugi parametr ProvideLanguageServiceAttribute konstruktora klasy).

[!UWAGA]

Każda właściwość określa wpis rejestru dokładne, który wpływa na tak te wpisy nie są wyświetlane w powyższym przykładzie.Te dodatkowe wpisy pojawiają się na tym samym poziomie co trzy pozycje przedstawione.

Konstruktor klasy określa minimalne wymagane parametry.Klasa atrybutu user-defined obsługuje także opcjonalne parametry nazwane.Są one nazwane parametry określone w liście parametrów konstruktora po wymaganych parametrów.Wszystkie właściwości dla tej klasy, które obsługują zarówno get i set operatorów może być określona jako nazwany parametr.W przykładzie pokazano, jak nazwane parametry są używane.

[!UWAGA]

Niektóre parametry nazwane są specyficzne dla RAM pakiet zarządzanych (MPF) i te zostaną odnotowane w opisie każdej właściwości.

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

Ten atrybut klasy jest typowo stosowany do podstawowej klasy VSPackage, chociaż może być wyświetlany na każdej klasy.Ta klasa powinien pojawić się tylko raz dla każdej usługi języka użytkownika obsługuje VSPackage.

Przykłady

Ten przykład pokazuje, jak ten atrybut zdefiniowane przez użytkownika jest używana do rejestracji usługi języka, który obsługuje IntelliSense operacji, dopasowywanie nawiasów, analizowania asynchronicznych (tło) i niestandardowych elementów colorable.

[!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
{
    internal class MyConstants
    {
        public const string languageName           = "MyLanguage";
        public const int    languageNameResourceID = 106;
    }

    [ProvideLanguageService(typeof(MyLanguageService),
                            MyConstants.languageName,
                            MyConstants.languageNameResourceID,
        // Optional language service properties
        CodeSense             = true,  // General IntelliSense support
        RequestStockColors    = false, // Custom colorable items
        EnableASyncCompletion = true,  // supports background parsing
        MatchBraces           = true,  // Match braces on command
        MatchBracesAtCaret    = true   // Match braces while typing
                           )]

    class MyLanguagePackage
    {
    }
}

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