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 | |
---|---|---|
ProvideLanguageServiceAttribute | Inicjuje nowe wystąpienie Shell.ProvideLanguageServiceAttribute klasy. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
AutoOutlining | Określa, czy usługa języka obsługuje automatyczne tworzenie konspektu. | |
CodeSense | Określa, czy usługa języka obsługuje operacje IntelliSense. | |
CodeSenseDelay | Określa czas, przed rozpoczęciem operacji analizy do obsługi operacji IntelliSense. | |
DebuggerLanguageExpressionEvaluator | Określa oceniającego wyrażenie, używany do oceny wyrażenia. | |
DefaultToInsertSpaces | Określa ustawienie domyślne dla Wstawianie spacji opcji w Opcje okno dialogowe obsługi języka. | |
DefaultToNonHotURLs | Określa ustawienie początkowe włączyć jednym kliknięciem adres URL nawigacji opcji w Opcje okno dialogowe. | |
EnableAdvancedMembersOption | Określa, czy Ukryj zaawansowane członków opcja jest włączona w Opcje okno dialogowe. | |
EnableAsyncCompletion | Określa, czy obsługuje język analizowania tła. | |
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. | |
EnableFormatSelection | Określa, czy usługa języka obsługuje automatyczne formatowanie kodu źródłowego. | |
EnableLineNumbers | Określa, czy numery linii może być zaznaczona opcja w Opcje okno dialogowe. | |
HideAdvancedMembersByDefault | Określa początkowy stan Ukryj zaawansowane członków opcji w oknie dialogowym Opcje. | |
LanguageName | Infrastruktura. Zwraca nazwę języka. | |
LanguageResourceID | Infrastruktura. Zwraca identyfikator zasobów, używana do uzyskiwania zlokalizowana wersja nazwa języka. | |
LanguageServiceSid | Infrastruktura. Zwraca identyfikator GUID usługi języka. | |
MatchBraces | Określa, czy usługa języka obsługuje pasujące pary języka. | |
MatchBracesAtCaret | Określa, czy usługa języka obsługuje pasujące pary języka, podczas pisania. | |
MaxErrorMessages | Określa maksymalną liczbę błędów komunikat usługi języka mogą zgłaszać do analizowania operacji. | |
QuickInfo | Określa, czy usługa języka obsługuje technologię IntelliSense Quick Info. | |
RequestStockColors | Określa, czy usługa języka używa wbudowanych elementów colorable dostarczonego przez Visual Studio. | |
ShowCompletion | Określa, czy Kończenie instrukcji opcje są włączone w Opcje okno dialogowe. | |
ShowDropDownOptions | Określa, czy pasek nawigacyjny opcja jest włączona w Opcje okno dialogowe. | |
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. | |
ShowMatchingBrace | Określa, jeżeli pasujące pary języka jest wyświetlany w pasku stanu. | |
ShowSmartIndent | Określa, czy Wcięcia Smart opcja jest włączona w Opcje okno dialogowe. | |
SingleCodeWindowOnly | Określa, czy okna -> Nowe okno polecenia jest wyłączony dla usługi języka. | |
SupportCopyPasteOfHTML | Określa, czy usługa języka obsługuje format schowka HTML dla operacji kopiowania i wklejania. | |
TypeId | Pobiera bieżące wystąpienie tego atrybutu. (Odziedziczone z RegistrationAttribute). |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Equals | Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute). | |
GetHashCode | Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute). | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
IsDefaultAttribute | Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute). | |
Match | Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute). | |
Register | Infrastruktura. Tworzy wszystkie klucze rejestru i wpisy podaną przez konstruktora klasy. (Zastępuje RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). | |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). | |
Unregister | Usuwa wszystkie klucze rejestru i wpisy podaną przez konstruktora klasy. (Zastępuje RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)). |
Początek
Jawne implementacje interfejsu
Nazwa | Opis | |
---|---|---|
_Attribute.GetIDsOfNames | Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute). | |
_Attribute.GetTypeInfo | Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute). | |
_Attribute.GetTypeInfoCount | Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute). | |
_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. |
Kojarzy rozszerzenie pliku z usługi języka. |
|
Określa właściwość węzła lub strony w oknie dialogowym Opcje specyficzne dla usługi języka. |
|
Określa informacje o lokalizacji, do obsługi wstawki kodu programu w służbie językowej. |
|
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.