ProvideLanguageServiceAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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. |