共用方式為


ILanguageClient 介面

定義

介面,表示連線到語言伺服器通訊協定型語言伺服器的語言用戶端。

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

備註

ILanguageClient 一般啟用順序會遵循下列模式:

  1. Visual Studio 會呼叫 OnLoadedAsync()
  2. 擴充功能會在 從OnLoadedAsync()傳回 之前,先呼叫 事件並StartAsync等候 InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs)
  3. Visual Studio 會先呼叫 和 await, ActivateAsync(CancellationToken) 再從 OnLoadedAsync()傳回 。
  4. 擴充功能會啟動 LSP 伺服器,並將 傳回 Connection 至 Visual Studio,
  5. Visual Studio 會使用 “initialize” 和 “initialized” LSP 訊息,以異步方式初始化伺服器,
  6. Visual Studio 完成 StartAsync 事件處理,
  7. 延伸模組會 OnLoadedAsync() 完成執行,
  8. Visual Studio OnServerInitializedAsync() 會在「初始化」和「初始化」LSP 訊息之後呼叫 方法, (或 OnServerInitializeFailedAsync(ILanguageClientInitializationInfo) 發生失敗時) 方法。

屬性

ConfigurationSections

取得語言用戶端的組態區段名稱。 如果語言用戶端未提供設定,這可能為 Null。

FilesToWatch

取得要 watch 變更的檔案名清單。 變更會透過 『workspace/didChangeWatchedFiles』 訊息傳送至伺服器。 要 watch 的檔案必須位於目前作用中的工作區底下。 檔名可以指定為確切檔案的相對路徑,或指定為遵循 .gitignore 中標準的 glob 模式,請參閱 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「關機」要求來停止。 如果未啟動伺服器,則會忽略此事件。

適用於