ILanguageClient Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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:
- Visual Studio llama a OnLoadedAsync(),
- La extensión llama a y espera InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) en el StartAsync evento antes de devolver desde OnLoadedAsync(),
- Visual Studio llama a y espera ActivateAsync(CancellationToken) antes de volver desde OnLoadedAsync(),
- La extensión inicia el servidor LSP y devuelve un Connection objeto a Visual Studio,
- Visual Studio se inicia inicializando asincrónicamente el servidor con los mensajes LSP "initialize" e "initialized",
- Visual Studio completa el StartAsync control de eventos,
- La extensión completa la OnLoadedAsync() ejecución,
- 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. |