Compartir a través de


ILanguageClient Interfaz

Definición

Interfaz que representa un cliente de idioma que se conecta a un servidor de lenguaje basado en protocolo de servidor de idioma.

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

Comentarios

Una secuencia normal de activación para el ILanguageClient siguiente patrón:

  1. Visual Studio llama a OnLoadedAsync(),
  2. La extensión llama a y espera InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) en el StartAsync evento antes de devolver desde OnLoadedAsync(),
  3. Visual Studio llama a y espera ActivateAsync(CancellationToken) antes de volver desde OnLoadedAsync(),
  4. La extensión inicia el servidor LSP y devuelve un Connection objeto a Visual Studio,
  5. Visual Studio se inicia inicializando asincrónicamente el servidor con los mensajes LSP "initialize" e "initialized",
  6. Visual Studio completa el StartAsync control de eventos,
  7. La extensión completa la OnLoadedAsync() ejecución,
  8. Visual Studio llama al OnServerInitializedAsync() método después de intercambiar los mensajes LSP "initialize" e "initialized" (o el OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) método en caso de error).

Propiedades

ConfigurationSections

Obtiene los nombres de sección de configuración para el cliente de idioma. Esto puede ser null si el cliente de idioma no proporciona la configuración.

FilesToWatch

Obtiene la lista de nombres de archivo que se van a watch para los cambios. Los cambios se enviarán al servidor mediante el mensaje "workspace/didChangeWatchedFiles". Los archivos que se van a watch deben estar en el área de trabajo activa actual. Los nombres de archivo se pueden especificar como rutas de acceso relativas al archivo exacto, o como patrones globales que siguen el estándar en .gitignore, consulte https://www.kernel.org/pub/software/scm/git/docs/gitignore.html los archivos.

InitializationOptions

Obtiene el objeto de opciones de inicialización que el cliente quiere enviar cuando se envía el mensaje "initialize". Esto puede ser null si el cliente no necesita opciones de inicialización personalizadas.

Name

Obtiene el nombre del cliente de idioma (mostrado al usuario).

ShowNotificationOnInitializeFailed

Obtiene un valor que indica si se muestra una burbuja de notificación cuando el servidor de idioma no se puede inicializar.

Métodos

ActivateAsync(CancellationToken)

Visual Studio llama a este método para notificar a la extensión que se debe iniciar el servidor LSP.

OnLoadedAsync()

Visual Studio llama a este método para notificar a la extensión que se ha cargado el cliente de lenguaje. La extensión puede iniciar el servidor LSP inmediatamente o esperar a que se inicie la acción del usuario. Para iniciar la llamada al servidor y esperar InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) en el StartAsync evento antes de volver desde este método.

OnServerInitializedAsync()

Visual Studio llama a este método para notificar a la extensión que se ha inicializado el servidor LSP: se han intercambiado mensajes LSP "initialize" e "initialized".

OnServerInitializeFailedAsync(Exception)

Indica la extensión que el servidor de lenguaje no pudo inicializar.

OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)

Visual Studio llama a este método para notificar a la extensión que ha producido un error en la inicialización del servidor LSP.

Eventos

StartAsync

Evento asincrónico para indicar a Visual Studio que el servidor debe iniciarse mediante una llamada a ActivateAsync(CancellationToken). Si el servidor ya está iniciado, se omitirá este evento.

StopAsync

Evento asincrónico para indicar a Visual Studio que el servidor debe detenerse mediante el envío de una solicitud de "apagado" de LSP. Si el servidor no se inicia, se omitirá este evento.

Se aplica a