ILanguageClient Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Интерфейс, представляющий языковой клиент, который подключается к языковому серверу на основе языкового протокола.
public interface class ILanguageClient
public interface ILanguageClient
type ILanguageClient = interface
Public Interface ILanguageClient
Комментарии
Обычная последовательность активации для соответствует следующему ILanguageClient шаблону:
- Visual Studio вызывает OnLoadedAsync(),
- Расширение вызывает и ожидает InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) события перед возвратом StartAsync из OnLoadedAsync(),
- Visual Studio вызывает и ожидает ActivateAsync(CancellationToken) перед возвращением из OnLoadedAsync(),
- Расширение запускает сервер LSP и возвращает в Connection Visual Studio.
- Visual Studio начинает асинхронную инициализацию сервера с помощью сообщений LSP "initialize" и "initialized",
- Visual Studio завершает обработку StartAsync событий.
- Расширение завершает OnLoadedAsync() выполнение.
- 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. Если сервер не запущен, это событие будет игнорироваться. |