ILanguageClient Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Interface que representa um cliente de linguagem que se conecta a um servidor de linguagem baseado em protocolo de servidor de linguagem.
public interface class ILanguageClient
public interface ILanguageClient
type ILanguageClient = interface
Public Interface ILanguageClient
Comentários
Uma sequência normal de ativação para o ILanguageClient segue este padrão:
- O Visual Studio chama OnLoadedAsync(),
- A extensão chama e aguarda InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) o StartAsync evento antes de retornar de OnLoadedAsync(),
- O Visual Studio chama e aguarda ActivateAsync(CancellationToken) antes de retornar de OnLoadedAsync(),
- A extensão inicia o servidor LSP e retorna um Connection para o Visual Studio,
- O Visual Studio inicia a inicialização assíncrona do servidor usando as mensagens LSP "inicializar" e "inicializadas",
- O Visual Studio conclui a manipulação de StartAsync eventos,
- A extensão conclui a OnLoadedAsync() execução,
- O Visual Studio chama o OnServerInitializedAsync() método depois que as mensagens LSP "inicializadas" e "inicializadas" são trocadas (ou o OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) método em caso de falha).
Propriedades
ConfigurationSections |
Obtém os nomes da seção de configuração para o cliente de idioma. Isso poderá ser nulo se o cliente de idioma não fornecer configurações. |
FilesToWatch |
Obtém a lista de nomes de arquivo a watch para alterações. As alterações serão enviadas ao servidor por meio da mensagem 'workspace/didChangeWatchedFiles'. Os arquivos a watch devem estar no workspace ativo atual. Os nomes de arquivo podem ser especificados como caminhos relativos para o arquivo exato ou como padrões glob seguindo o padrão em .gitignore ver https://www.kernel.org/pub/software/scm/git/docs/gitignore.html arquivos. |
InitializationOptions |
Obtém o objeto de opções de inicialização que o cliente deseja enviar quando a mensagem 'initialize' é enviada. Isso poderá ser nulo se o cliente não precisar de opções de inicialização personalizadas. |
Name |
Obtém o nome do cliente de idioma (exibido para o usuário). |
ShowNotificationOnInitializeFailed |
Obtém um valor que indica se uma bolha de notificação é mostrada quando o servidor de idioma não é inicializado. |
Métodos
ActivateAsync(CancellationToken) |
Esse método é chamado pelo Visual Studio para notificar a extensão de que o servidor LSP deve ser iniciado. |
OnLoadedAsync() |
Esse método é chamado pelo Visual Studio para notificar a extensão de que o cliente de linguagem foi carregado. A extensão pode iniciar o servidor LSP imediatamente ou aguardar o início da ação do usuário. Para iniciar a chamada do servidor e aguardar InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) o StartAsync evento antes de retornar desse método. |
OnServerInitializedAsync() |
Esse método é chamado pelo Visual Studio para notificar a extensão de que o servidor LSP foi inicializado: mensagens LSP "inicializar" e "inicializadas" foram trocadas. |
OnServerInitializeFailedAsync(Exception) |
Sinaliza a extensão que o servidor de idioma falhou ao inicializar. |
OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) |
Esse método é chamado pelo Visual Studio para notificar a extensão de que a inicialização do servidor LSP falhou. |
Eventos
StartAsync |
Evento assíncrono para indicar ao Visual Studio que o servidor deve ser iniciado chamando ActivateAsync(CancellationToken). Se o servidor já tiver sido iniciado, esse evento será ignorado. |
StopAsync |
Evento assíncrono para indicar ao Visual Studio que o servidor deve ser interrompido enviando uma solicitação de "desligamento" LSP. Se o servidor não for iniciado, esse evento será ignorado. |