Поделиться через


ILanguageClient Интерфейс

Определение

Интерфейс, представляющий языковой клиент, который подключается к языковому серверу на основе языкового протокола.

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

Комментарии

Обычная последовательность активации для соответствует следующему ILanguageClient шаблону:

  1. Visual Studio вызывает OnLoadedAsync(),
  2. Расширение вызывает и ожидает InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) события перед возвратом StartAsync из OnLoadedAsync(),
  3. Visual Studio вызывает и ожидает ActivateAsync(CancellationToken) перед возвращением из OnLoadedAsync(),
  4. Расширение запускает сервер LSP и возвращает в Connection Visual Studio.
  5. Visual Studio начинает асинхронную инициализацию сервера с помощью сообщений LSP "initialize" и "initialized",
  6. Visual Studio завершает обработку StartAsync событий.
  7. Расширение завершает OnLoadedAsync() выполнение.
  8. Visual Studio вызывает OnServerInitializedAsync() метод после обмена сообщениями LSP "initialize" и "initialized" (или методом в OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) случае сбоя).

Свойства

ConfigurationSections

Возвращает имена разделов конфигурации для языкового клиента. Это значение может иметь значение NULL, если языковой клиент не предоставляет параметры.

FilesToWatch

Возвращает список имен файлов для watch изменений. Изменения будут отправляться на сервер через сообщение workspace/didChangeWatchedFiles. Файлы для watch должны находиться в текущей активной рабочей области. Имена файлов можно указать как относительные пути к точному файлу или в виде шаблонов glob в соответствии со стандартом в файлах .gitignore see https://www.kernel.org/pub/software/scm/git/docs/gitignore.html .

InitializationOptions

Возвращает объект параметров инициализации, который клиент хочет отправить при отправке сообщения "инициализация". Это значение может иметь значение NULL, если клиенту не нужны пользовательские параметры инициализации.

Name

Возвращает имя языкового клиента (отображается для пользователя).

ShowNotificationOnInitializeFailed

Возвращает значение, указывающее, отображается ли пузырек уведомлений, когда языковой сервер не может инициализироваться.

Методы

ActivateAsync(CancellationToken)

Этот метод вызывается Visual Studio для уведомления расширения о том, что должен быть запущен сервер LSP.

OnLoadedAsync()

Этот метод вызывается Visual Studio для уведомления расширения о загрузке языкового клиента. Расширение может запустить сервер LSP немедленно или дождаться запуска действия пользователя. Запуск вызова сервера и ожидание InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs)StartAsync события перед возвратом из этого метода.

OnServerInitializedAsync()

Этот метод вызывается в Visual Studio для уведомления расширения о том, что сервер LSP инициализирован: обмен сообщениями LSP "инициализирован" и "инициализирован".

OnServerInitializeFailedAsync(Exception)

Сигнализирует расширению о том, что языковой сервер не удалось инициализировать.

OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)

Этот метод вызывается Visual Studio для уведомления расширения о сбое инициализации сервера LSP.

События

StartAsync

Асинхронное событие, указывающее в Visual Studio, что сервер должен быть запущен путем вызова ActivateAsync(CancellationToken). Если сервер уже запущен, это событие будет игнорироваться.

StopAsync

Асинхронное событие, указывающее в Visual Studio, что сервер должен быть остановлен путем отправки запроса на завершение работы LSP. Если сервер не запущен, это событие будет игнорироваться.

Применяется к