ILanguageClient Interface

Définition

Interface représentant un client de langue qui se connecte à un serveur de langage basé sur un protocole de séparation de langue.

public interface class ILanguageClient
public interface ILanguageClient
type ILanguageClient = interface
Public Interface ILanguageClient

Remarques

Une séquence d’activation normale pour le ILanguageClient suit ce modèle :

  1. Visual Studio appelle OnLoadedAsync(),
  2. L’extension appelle et attend InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) sur l’événement StartAsync avant de revenir à partir de OnLoadedAsync(),
  3. Visual Studio appelle et attend ActivateAsync(CancellationToken) avant de revenir à partir de OnLoadedAsync(),
  4. L’extension démarre le serveur LSP et retourne un Connection à Visual Studio,
  5. Visual Studio commence à initialiser de manière asynchrone le serveur à l’aide des messages LSP « initialize » et « initialized »,
  6. Visual Studio termine la StartAsync gestion des événements,
  7. L’extension termine l’exécution OnLoadedAsync() ,
  8. Visual Studio appelle la OnServerInitializedAsync() méthode après l’échange des messages LSP « initialize » et « initialized » (ou de la OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) méthode en cas de défaillance).

Propriétés

ConfigurationSections

Obtient les noms de section de configuration pour le client de langue. Cela peut être null si le client de langue ne fournit pas de paramètres.

FilesToWatch

Obtient la liste des noms de fichiers à watch pour les modifications. Les modifications sont envoyées au serveur via le message « workspace/didChangeWatchedFiles ». Les fichiers à watch doivent se trouver dans l’espace de travail actif actuel. Les noms de fichiers peuvent être spécifiés sous forme de chemins relatifs au fichier exact ou de modèles glob suivant la norme dans les fichiers .gitignore see https://www.kernel.org/pub/software/scm/git/docs/gitignore.html .

InitializationOptions

Obtient l’objet d’options d’initialisation que le client souhaite envoyer lorsque le message « initialize » est envoyé. Cette valeur peut être null si le client n’a pas besoin d’options d’initialisation personnalisées.

Name

Obtient le nom du client de langue (affiché à l’utilisateur).

ShowNotificationOnInitializeFailed

Obtient une valeur indiquant si un affichage de bulle de notification s’affiche lorsque l’initialisation du serveur de langue échoue.

Méthodes

ActivateAsync(CancellationToken)

Cette méthode est appelée par Visual Studio pour notifier l’extension que le serveur LSP doit être démarré.

OnLoadedAsync()

Cette méthode est appelée par Visual Studio pour informer l’extension que le client de langage a été chargé. L’extension peut démarrer immédiatement le serveur LSP ou attendre que l’action de l’utilisateur démarre. Pour démarrer le serveur, appelez et attendez InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) l’événement StartAsync avant de revenir à partir de cette méthode.

OnServerInitializedAsync()

Cette méthode est appelée par Visual Studio pour informer l’extension que le serveur LSP a été initialisé : les messages « initialize » et « initialized » LSP ont été échangés.

OnServerInitializeFailedAsync(Exception)

Signale l’extension que le serveur de langage n’a pas pu initialiser.

OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)

Cette méthode est appelée par Visual Studio pour notifier l’extension que l’initialisation du serveur LSP a échoué.

Événements

StartAsync

Événement asynchrone pour indiquer à Visual Studio que le serveur doit être démarré en appelant ActivateAsync(CancellationToken). Si le serveur est déjà démarré, cet événement est ignoré.

StopAsync

Événement asynchrone pour indiquer à Visual Studio que le serveur doit être arrêté en envoyant une demande « d’arrêt » LSP. Si le serveur n’est pas démarré, cet événement est ignoré.

S’applique à