Udostępnij za pośrednictwem


ProvideLanguageServiceAttribute Klasa

Definicja

Informuje program Visual Studio, że pakiet VSPackage udostępnia usługę językową. Używany z zarządzaną strukturą pakietów (MPF).

public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageServiceAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageServiceAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageServiceAttribute
Inherits RegistrationAttribute
Dziedziczenie
ProvideLanguageServiceAttribute
Atrybuty

Przykłady

W tym przykładzie pokazano, jak ten atrybut zdefiniowany przez użytkownika jest używany do rejestrowania usługi językowej obsługującej operacje IntelliSense, dopasowywanie nawiasów klamrowych, analizowanie asynchroniczne (tło) i niestandardowe elementy z możliwością kolorowania.

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  
{  
    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  
    {  
    }  
}  

Uwagi

Ten atrybut zdefiniowany przez użytkownika (specyficzny dla języka Visual C#) służy do dostarczania informacji niezbędnych do zarejestrowania usługi językowej w programie Visual Studio. Wartości określone przez ten atrybut są przechowywane jako metadane w zestawie. Te metadane są później używane przez program, taki jak regpkg.exe (część zestawu VSIP SDK), aby utworzyć odpowiednie klucze rejestru i wpisy, które informują program Visual Studio o usłudze językowej.

Wpisy rejestru, których dotyczy ten ProvideLanguageServiceAttribute klucz, 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]  

Gdzie [X.Y] to wersja programu Visual Studio, na przykład 8.0Exp i [nazwa języka] to nazwa języka (określona w drugim parametrze konstruktora ProvideLanguageServiceAttribute klasy).

Uwaga

Każda właściwość określa dokładny wpis rejestru, który ma wpływ, więc te wpisy nie są wyświetlane w powyższym przykładzie. Te dodatkowe wpisy są wyświetlane na tym samym poziomie co pokazane trzy wpisy.

Konstruktor klasy określa minimalne wymagane parametry. Klasa atrybutów zdefiniowana przez użytkownika obsługuje również opcjonalne nazwane parametry. Te nazwane parametry są określane na liście parametrów konstruktora po wymaganych parametrach. Wszystkie właściwości tej klasy, które obsługują zarówno operatory get, jak i set, można określić jako nazwany parametr. W przykładzie pokazano, jak są używane nazwane parametry.

Uwaga

Niektóre z nazwanych parametrów są specyficzne dla zarządzanej struktury pakietów (MPF) i są one zanotowane w każdym opisie 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ł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

Ta klasa atrybutu jest zwykle stosowana do podstawowej klasy VSPackage, chociaż może być wyświetlana w dowolnej klasie. Ta klasa powinna być wyświetlana tylko raz dla każdej usługi językowej obsługiwanej przez pakiet VSPackage.

Konstruktory

ProvideLanguageServiceAttribute(Object, String, Int32)

Inicjuje nowe wystąpienie klasy Shell.ProvideLanguageServiceAttribute.

Właściwości

AutoOutlining

Określa, czy usługa językowa obsługuje automatyczne konspektowanie.

CodeSense

Określa, czy usługa językowa obsługuje operacje IntelliSense.

CodeSenseDelay

Określa czas, po jakim operacja analizy jest uruchamiana w celu obsługi operacji IntelliSense.

DebuggerLanguageExpressionEvaluator

Określa ewaluator wyrażeń używany do obliczania wyrażeń.

DefaultToInsertSpaces

Określa domyślne ustawienie opcji Wstaw spacje w oknie dialogowym Opcje dla usługi językowej.

DefaultToNonHotURLs

Określa początkowe ustawienie opcji nawigacji Włącz nawigację za pomocą jednego kliknięcia adresu URL w oknie dialogowym Opcje.

EnableAdvancedMembersOption

Określa, czy opcja Ukryj zaawansowane elementy członkowskie jest włączona w oknie dialogowym Opcje.

EnableAsyncCompletion

Określa, czy język obsługuje analizowanie w tle.

EnableCommenting

Określa, czy usługa językowa może komentować i usuwać komentarz kodu źródłowego przy użyciu jednego polecenia.

EnableFormatSelection

Określa, czy usługa językowa obsługuje automatyczne formatowanie kodu źródłowego.

EnableLineNumbers

Określa, czy można wybrać opcję Numery wierszy w oknie dialogowym Opcje.

FontColorDefaults

Informuje program Visual Studio, że pakiet VSPackage udostępnia usługę językową. Używany z zarządzaną strukturą pakietów (MPF).

HideAdvancedMembersByDefault

Określa początkowy stan opcji Ukryj zaawansowane elementy członkowskie w oknie dialogowym Opcje.

LanguageName

Zwraca nazwę języka.

LanguageResourceID

Zwraca identyfikator zasobu używany do uzyskania zlokalizowanej wersji nazwy języka.

LanguageServiceSid

Informuje program Visual Studio, że pakiet VSPackage udostępnia usługę językową. Używany z zarządzaną strukturą pakietów (MPF).

MatchBraces

Określa, czy usługa językowa obsługuje pasujące pary języków.

MatchBracesAtCaret

Określa, czy usługa językowa obsługuje pasujące pary języków podczas wpisywania.

MaxErrorMessages

Określa maksymalną liczbę komunikatów o błędach, które usługa językowa może zgłosić dla operacji analizowania.

QuickInfo

Określa, czy usługa językowa obsługuje szybkie informacje intelliSense.

RequestStockColors

Określa, czy usługa językowa używa wbudowanych elementów kolorowych dostarczanych przez program Visual Studio.

ShowCompletion

Określa, czy opcje uzupełniania instrukcji są włączone w oknie dialogowym Opcje.

ShowDropDownOptions

Określa, czy opcja Pasek nawigacyjny jest włączona w oknie dialogowym Opcje.

ShowHotURLs

Określa, czy adresy URL są wyświetlane w taki sposób, aby pokazać, że można je kliknąć. Ta opcja nie jest używana.

ShowMatchingBrace

Określa, czy zgodna para języków jest wyświetlana na pasku stanu.

ShowSmartIndent

Określa, czy opcja Inteligentne wcięcie jest włączona w oknie dialogowym Opcje.

SingleCodeWindowOnly

Określa, czy polecenie Okno —> nowe okno jest wyłączone dla usługi językowej.

SupportCopyPasteOfHTML

Określa, czy usługa językowa obsługuje format HTML schowka na potrzeby operacji kopiowania i wklejania.

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)

Tworzy wszystkie klucze rejestru i wpisy określone przez konstruktora klasy.

Unregister(RegistrationAttribute+RegistrationContext)

Usuwa wszystkie klucze rejestru i wpisy określone przez konstruktora klasy.

Dotyczy