ILanguageClient Interfejs
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.
Interfejs reprezentujący klienta języka, który łączy się z serwerem językowym opartym na protokole serwera językowego.
public interface class ILanguageClient
public interface ILanguageClient
type ILanguageClient = interface
Public Interface ILanguageClient
Uwagi
Normalna sekwencja aktywacji dla następującego ILanguageClient wzorca:
- Wywołania OnLoadedAsync()programu Visual Studio ,
- Rozszerzenie wywołuje zdarzenie i oczekuje InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) na StartAsync zdarzenie przed powrotem z elementu .OnLoadedAsync()
- Wywołania i oczekiwanie ActivateAsync(CancellationToken) programu Visual Studio przed powrotem z elementu OnLoadedAsync()
- Rozszerzenie uruchamia serwer LSP i zwraca wartość do Connection programu Visual Studio.
- Program Visual Studio uruchamia asynchronicznie inicjowanie serwera przy użyciu komunikatów LSP "initialize" i "initialized",
- Program Visual Studio kończy obsługę zdarzeń StartAsync ,
- Rozszerzenie kończy OnLoadedAsync() wykonywanie,
- Program Visual Studio wywołuje metodę OnServerInitializedAsync() po wymianie komunikatów LSP "initialize" i "initialized" (lub metodzie OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) w przypadku awarii).
Właściwości
ConfigurationSections |
Pobiera nazwy sekcji konfiguracji klienta języka. Może to mieć wartość null, jeśli klient języka nie udostępnia ustawień. |
FilesToWatch |
Pobiera listę nazw plików do watch zmian. Zmiany zostaną wysłane na serwer za pośrednictwem komunikatu "workspace/didChangeWatchedFiles". Pliki do watch muszą znajdować się w bieżącym aktywnym obszarze roboczym. Nazwy plików można określić jako ścieżki względne do dokładnego pliku lub wzorce globu zgodnie ze standardem w pliku gitignore zobacz https://www.kernel.org/pub/software/scm/git/docs/gitignore.html pliki. |
InitializationOptions |
Pobiera obiekt opcji inicjowania, który klient chce wysłać po wysłaniu komunikatu "inicjowanie". Może to mieć wartość null, jeśli klient nie potrzebuje niestandardowych opcji inicjowania. |
Name |
Pobiera nazwę klienta języka (wyświetlanego użytkownikowi). |
ShowNotificationOnInitializeFailed |
Pobiera wartość wskazującą, czy bąbelek powiadomień jest wyświetlany, gdy serwer językowy nie może zainicjować. |
Metody
ActivateAsync(CancellationToken) |
Ta metoda jest wywoływana przez program Visual Studio w celu powiadomienia rozszerzenia o konieczności uruchomienia serwera LSP. |
OnLoadedAsync() |
Ta metoda jest wywoływana przez program Visual Studio w celu powiadomienia rozszerzenia o załadowaniu klienta języka. Rozszerzenie może natychmiast uruchomić serwer LSP lub poczekać na uruchomienie akcji użytkownika. Aby uruchomić wywołanie serwera i poczekać InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) na StartAsync zdarzenie przed powrotem z tej metody. |
OnServerInitializedAsync() |
Ta metoda jest wywoływana przez program Visual Studio w celu powiadomienia rozszerzenia, że serwer LSP został zainicjowany: dostawca LSP "inicjowanie" i "zainicjowane" komunikaty zostały wymienione. |
OnServerInitializeFailedAsync(Exception) |
Sygnalizuje, że nie można zainicjować rozszerzenia serwera językowego. |
OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) |
Ta metoda jest wywoływana przez program Visual Studio, aby powiadomić rozszerzenie o tym, że inicjowanie serwera LSP nie powiodło się. |
Zdarzenia
StartAsync |
Zdarzenie asynchroniczne wskazujące programOwi Visual Studio, że serwer powinien zostać uruchomiony przez wywołanie metody ActivateAsync(CancellationToken). Jeśli serwer jest już uruchomiony, to zdarzenie zostanie zignorowane. |
StopAsync |
Zdarzenie asynchroniczne wskazujące programOwi Visual Studio, że serwer powinien zostać zatrzymany przez wysłanie żądania "shutdown" dostawcy LSP. Jeśli serwer nie zostanie uruchomiony, to zdarzenie zostanie zignorowane. |