ILanguageClient 接口

定义

表示连接到基于语言服务器的语言服务器的语言客户端的接口。

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

注解

ILanguageClient 正常激活序列遵循以下模式:

  1. Visual Studio 调用 OnLoadedAsync()
  2. 扩展在从 OnLoadedAsync()返回之前调用 并等待 StartAsyncInvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) 事件。
  3. Visual Studio 在从 OnLoadedAsync()返回之前调用 并等待ActivateAsync(CancellationToken)
  4. 该扩展启动 LSP 服务器,并将 返回 Connection 给 Visual Studio,
  5. Visual Studio 使用“initialize”和“initialized”LSP 消息开始异步初始化服务器,
  6. Visual Studio 完成 StartAsync 事件处理,
  7. 扩展完成 OnLoadedAsync() 执行,
  8. Visual Studio 在“initialize”和“initialized”LSP 消息 (或OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)方法交换后调用 OnServerInitializedAsync() 方法,以防) 失败。

属性

ConfigurationSections

获取语言客户端的配置节名称。 如果语言客户端不提供设置,则可能为 null。

FilesToWatch

获取要watch更改的文件名列表。 更改将通过“workspace/didChangeWatchedFiles”消息发送到服务器。 要watch的文件必须位于当前活动工作区下。 文件名可以指定为确切文件的相对路径,也可以指定为遵循 .gitignore see https://www.kernel.org/pub/software/scm/git/docs/gitignore.html 文件中标准的 glob 模式。

InitializationOptions

获取客户端在发送“initialize”消息时要发送的初始化选项对象。 如果客户端不需要自定义初始化选项,则可能为 null。

Name

获取显示给用户) 的语言客户端 (的名称。

ShowNotificationOnInitializeFailed

获取一个值,该值指示在语言服务器初始化失败时是否显示通知气泡。

方法

ActivateAsync(CancellationToken)

Visual Studio 调用此方法以通知扩展应启动 LSP 服务器。

OnLoadedAsync()

Visual Studio 调用此方法以通知扩展已加载语言客户端。 该扩展可以立即启动 LSP 服务器,或等待用户操作启动。 若要启动服务器调用,并在从此方法返回之前等待 InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs)StartAsync 事件。

OnServerInitializedAsync()

Visual Studio 调用此方法以通知扩展 LSP 服务器已初始化:LSP“initialize”和“initialized”消息已交换。

OnServerInitializeFailedAsync(Exception)

向语言服务器初始化失败的扩展发出信号。

OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)

Visual Studio 调用此方法以通知扩展 LSP 服务器的初始化失败。

事件

StartAsync

异步事件,用于向 Visual Studio 指示应通过调用 ActivateAsync(CancellationToken)来启动服务器。 如果服务器已启动,则将忽略此事件。

StopAsync

异步事件,用于向 Visual Studio 指示应通过发送 LSP“关闭”请求来停止服务器。 如果未启动服务器,则将忽略此事件。

适用于