Klasa LanguageService
To jest klasą bazową dla usługa języka, która dostarcza funkcji języka, w tym wyróżnianie składni, dopasowywanie nawiasów, automatyczne uzupełnianie, obsługę technologii IntelliSense i rozszerzenia urywek kodu.
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.Package.LanguageService
Przestrzeń nazw: Microsoft.VisualStudio.Package
Zestawy: Microsoft.VisualStudio.Package.LanguageService.9.0 (w Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (w Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (w Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService (w Microsoft.VisualStudio.Package.LanguageService.dll)
Składnia
'Deklaracja
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public MustInherit Class LanguageService _
Implements IDisposable, IVsLanguageInfo, IVsLanguageDebugInfo, IVsProvideColorableItems, _
IVsLanguageContextProvider, IServiceProvider, IObjectWithSite, ISynchronizeInvoke, IVsDebuggerEvents, _
IVsFormatFilterProvider
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public abstract class LanguageService : IDisposable,
IVsLanguageInfo, IVsLanguageDebugInfo, IVsProvideColorableItems, IVsLanguageContextProvider, IServiceProvider,
IObjectWithSite, ISynchronizeInvoke, IVsDebuggerEvents, IVsFormatFilterProvider
Typ LanguageService uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
LanguageService | Inicjuje nowe wystąpienie LanguageService klasy. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
InvokeRequired | Określa, jeśli metoda musi wywołany przez granice wątków. | |
IsActive | Określa, czy usługa języka jest podłączony do bieżącego widoku i dlatego jest aktywny. | |
IsDebugging | Określa, czy debugera jest aktywny. | |
IsParsing | Określa, jeżeli analizy tła jest w toku. | |
LastActiveTextView | Zwraca ostatni widok aktywny tekst skojarzony z tą usługą języka. | |
MainThreadId | Zwraca identyfikator wątku, na którym uruchomiona jest ta usługa języka. | |
Name | Zwraca nazwę języka (na przykład "C++" lub "HTML"). | |
ParseThreadIsAlive | ||
ParseThreadPaused | ||
Preferences | Zapewnia dostęp do preferencji języka usługi. | |
Site | Zwraca usługodawca, biorąc pod uwagę do tej usługi języka. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
AbortBackgroundParse | ||
AddCodeWindowManager | Dodaje Menedżera okien kodu do usługi języka. | |
BeginInvoke | Wywołuje metodę w innym wątku. | |
BeginParse | Rozpoczyna operację analizy na wątek tła. | |
CanStopThread | ||
CreateCodeWindowManager | Tworzy CodeWindowManager klasy. | |
CreateDocumentProperties | Tworzy DocumentProperties klasy. | |
CreateDropDownHelper | Tworzy TypeAndMemberDropdownBars klasy. | |
CreateExpansionFunction | Tworzy ExpansionFunction klasy. | |
CreateExpansionProvider | Tworzy ExpansionProvider klasy. | |
CreateParseRequest | Tworzy żądanie do zaspokojenia potrzeb danego powód analizowania, który jest następnie przekazywany do analizatora składni. | |
CreateSource | Tworzy Source klasy. | |
CreateViewFilter | Tworzy ViewFilter klasy. | |
CurFileExtensionFormat | Zwraca indeks do listy rozszerzenie pliku, która odpowiada rozszerzenie nazwy pliku określonej. | |
DispatchCommand(Guid, UInt32, IntPtr, IntPtr) | Wywoływana w celu wykonania określonego polecenia. | |
DispatchCommand(Guid, UInt32, UInt32, IntPtr, IntPtr) | ||
Dispose | Wywołana, kiedy niszczony jest obiekt usługi języka. | |
EndInvoke | Pobiera wynik wywołanie asynchroniczne uruchomione przez LanguageService.BeginInvoke. | |
Equals | Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object). | |
Finalize | Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object). | |
GetCodeWindowManager | Tworzy CodeWindowManager klasy. | |
GetCodeWindowManagerForSource | Zwraca CodeWindowManager obiektu skojarzonego z określonym Source obiektu. | |
GetCodeWindowManagerForView | Zwraca CodeWindowManager skojarzone z określonym IVsTextView obiektu. | |
GetColorableItem | Zwraca żądane IVsColorableItem obiektu. | |
GetColorizer(IVsTextLines) | Iinstantiates Colorizer klasy. | |
GetColorizer(IVsTextLines, IVsColorizer%) | Zwraca colorizer, związane z Source obiekt, który zawiera dany IVsTextLines obiektu. | |
GetFileExtensions | Zwraca ciąg zawierający rozszerzenia plików skojarzonych z tym językiem. | |
GetFormatFilterList | Zwraca listę filtrów rozszerzenie pliku nadające się do Zapisać jako okno dialogowe. | |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). | |
GetImageList | Zwraca listę obrazów zawierających glify skojarzone z usługą języka. | |
GetItemCount | Zwraca liczbę niestandardowych elementów colorable, obsługiwane przez usługę języka. | |
GetIVsDebugger | Zwraca IVsDebugger obiekt reprezentujący debugera aktualnie dostępnych do nasłuchiwania zdarzeń debugera. | |
GetIVsTextMacroHelperIfRecordingOn | Zwraca IVsTextMacroHelper obiektu, jeśli jest włączona funkcja rejestrowania makr. | |
GetLanguageID | Zwraca języka GUID usługi języka. | |
GetLanguageName | Zwraca nazwę języka, który obsługuje tę usługę języka. | |
GetLanguagePreferences | Zwraca LanguagePreferences obiektu dla tej usługi języka. | |
GetLanguageServiceGuid | Zwraca identyfikator GUID usługi języka. | |
GetLocationOfName | Metoda, która zawsze zwraca przestarzałe E_NOTIMPL. | |
GetNameOfLocation | Zwraca nazwę otaczający element, który zawiera danej pozycji. | |
GetOrCreateSource | ||
GetParseResult | Zwraca wynik operacji analizy. | |
GetPrimaryViewForSource | ||
GetProximityExpressions | Zwraca listę wyrażeń należy ocenić i przedstawione w samochody okna dla danego zakresu linii. | |
GetScanner | Zwraca wartość pojedynczego wystąpienia z analizatora składni. | |
GetService | Zwraca obiekt usługi, który może być oddane do określonego interfejsu. | |
GetSite | Zwraca wskaźnik wycofana żądany interfejs. | |
GetSource(IVsTextLines) | Zwraca istniejący Source obiekt, który zawiera określony bufor źródła. | |
GetSource(IVsTextView) | Zwraca istniejący Source obiekt, który zawiera plik źródłowy w widoku określony tekst. | |
GetSource(String) | Zwraca istniejący Source obiekt na podstawie nazwy pliku. | |
GetSources | Zwraca kolekcję Source obiektów, obsługiwana przez usługę języka. | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
Initialize | Wywoływana w celu zainicjowania usługi języka. | |
Invoke | O nazwie wywoływanie określone przez delegata danego zadania. | |
IsMacroRecordingOn | Wywoływana w celu ustalenia, czy jest włączona funkcja rejestrowania makr. | |
IsMappedLocation | Wywoływana w celu ustalenia, jeśli określonej lokalizacji w pliku źródłowym danej odwołuje się do kodu w innym pliku. | |
IsSourceOpen | Określa, czy plik źródłowy jest otwarty. | |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). | |
OnActiveViewChanged | Wywołana po zmianie bieżącego widoku do innego widoku. | |
OnCaretMoved | Wywoływane, gdy daszek został przeniesiony. | |
OnChangesCommitted | Wywoływane, gdy zmiany są generowane przez auto wypełnianie lub operacji rozbudowy urywek kodu jest zaangażowana w buforze. | |
OnCloseSource | Wywoływana w celu zamknięcia określonego Source obiektu. | |
OnIdle | Wywoływane, gdy żadne inne zdarzenia muszą być obsłużone. | |
OnModeChange | Wywołana w każdym przypadku, gdy tryb debugowania zmieniła się podczas debugowania. | |
OnParseAborted | ||
OnParseComplete | Wywołana po zakończeniu analizy tła. | |
OpenDocument | Otwiera określony plik. | |
ParseSource | Analizuje źródło, w oparciu o określony ParseRequest obiektu. | |
QueryInvalidEncoding | Określa się, jeśli format określonego źródła jest prawidłowa. | |
QueryService | Zwraca interfejs żądania od określonej usługi. | |
QueryWaitForAutoOutliningCallback | ||
RemoveCodeWindowManager | Wywoływane, gdy widok skojarzony z określonym CodeWindowManager jest zamknięty. | |
ResolveName | Zwraca listę nazwy metody, które odpowiada podanej nazwie zmodyfikowany przez określone flagi. | |
ScrollToEnd(IVsTextView) | Aktualizuje określony widok, aby wskazać koniec pliku źródłowego. | |
ScrollToEnd(IVsWindowFrame) | Aktualizuje widok w ramce określonego okna, aby wskazać koniec pliku źródłowego. | |
SetSite | O nazwie lub usługodawca dla tej usługi języka witryny. | |
SetUserContextDirty | Znaczniki kontekst użytkownika, jak dirty w buforze określonego źródła. | |
SynchronizeDropdowns | Wywołana, aby zaktualizować pasek rozwijanej, w oparciu o bieżącą pozycją karetki. | |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). | |
UpdateLanguageContext | Aktualizuje bieżący kontekst pomocy użytkownika w wybrany region danego źródła. | |
ValidateBreakpointLocation | Wywoływana w celu ustalenia, jeśli w danej lokalizacji może mieć przerwania, stosowane do niego. |
Początek
Jawne implementacje interfejsu
Nazwa | Opis | |
---|---|---|
IVsFormatFilterProvider.CurFileExtensionFormat | Zwraca indeks do listy rozszerzenie pliku, która odpowiada rozszerzenie nazwy pliku określonej. | |
IVsFormatFilterProvider.GetFormatFilterList | Zwraca listę filtrów rozszerzenie pliku nadające się do Zapisać jako okno dialogowe. | |
IVsFormatFilterProvider.QueryInvalidEncoding | Określa się, jeśli format określonego źródła jest prawidłowa. | |
IVsLanguageContextProvider.UpdateLanguageContext | Aktualizacje bieżącego użytkownika pomóc w kontekście, biorąc pod uwagę wybrany region danego źródła. |
Początek
Uwagi
Visual Studiozapewnia obsługę języków kod korzysta z usług językowych.Usługa języka jest zarejestrowany z Visual Studio gdy jest zainstalowany pakiet językowy usługi.Częścią tego procesu rejestracji kojarzy rozszerzenie pliku z usługi języka, tak w każdej chwili załadowany plik z danym rozszerzeniem, usługa język również jest załadowany.
LanguageService Klasa jest klasą podstawową dla usługi języka.Visual StudioTworzy VSPackage, wykonania usług językowych i wywołania SetSite metody na VSPackage.W celu stosowania tej metody Initialize metody na Package nosi nazwę klasy podstawowej.Zastąpić Initialize metody tworzenia wystąpienia usługi języka.Pamiętaj, aby wywołać SetSite metody usługi języka po wystąpienia.
Uwagi dotyczące implementacji
Klasa dziedziczyć po tej klasy, aby utworzyć własne służby językowej.Należy również, co najmniej, zaimplementować parser, który implementuje IScanner interfejsu.Wszystkie funkcje usługi języka są oparte na ten parser.
Następujące metody i właściwości są oznaczone jako abstrakcyjne i muszą być wdrażane w tom pochodna klasy LanguageService klasy:
Metody/właściwości mają być wprowadzone w życie |
Opis |
---|---|
Metoda, która zwraca LanguagePreferences obiektu. |
|
Metoda, która zwraca IScanner obiektu. |
|
Metoda, która analizuje źródło. |
|
Właściwość tylko do odczytu, która zwraca nazwę języka |
Jeżeli nie zamierza się obsługiwać ValidateBreakpointLocation , ale język obsługuje punkty przerwania, należy zastąpić ValidateBreakpointLocation metody i powrotu, span, zawierający określonego wiersza i kolumny; w przeciwnym razie punktów przerwania nie można ustawić dowolne miejsce z wyjątkiem linii 1.Można zwrócić E_NOTIMPL do wskazują, że w przeciwnym razie nie obsługują tej metody, ale zakres musi być zawsze ustawione.W przykładzie ValidateBreakpointLocation metoda pokazuje, jak można to zrobić.
Uwagi dotyczące wywoływania
Zarejestrować usługi języka podczas instalowania programu VSPackage (może to być poświęcona usługi język pakietu lub może być pakiet projektu, który również świadczy usługę języka).Można utworzyć wystąpienia usługi języka podczas inicjowania programu pakietu.Visual Studiowspółdziała z usługą języka, aby wyświetlić kod napisany w języku obsługiwanego przez usługę języka.Zobacz przykład poniżej dla jak można wykonać rejestrację tego języka.
Przykłady
Poniższy przykład pokazuje, jak się zarejestrować i zainicjować usługi dla pakietu języka.Uwaga: MyLanguageService jest pochodną LanguageService klasy.
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
/////////////////////////////////////////////
// Other package registration details go here
/////////////////////////////////////////////
// Offer a new language service
[ProvideServiceAttribute(typeof(MyLanguageService),
ServiceName = "My Language Service")]
// Register the language service with Visual Studio.
// "106" is the resource ID in the satellite DLL to the localized language name.
[ProvideLanguageServiceAttribute(typeof(MyLanguageService),"My Language",106)]
// Associate a file extension with our language service.
[ProvideLanguageExtensionAttribute(typeof(MyLanguageService), ".myext")]
class MyLanguagePackage : Package
{
protected override void Initialize()
{
base.Initialize();
IServiceContainer serviceContainer = this as IServiceContainer;
MyLanguageService languageService = new MyLanguageService();
languageService.SetSite(this);
serviceContainer.AddService(typeof(MyLanguageService),
languageService,
true);
}
}
}
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.Package