ILanguageClient 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
介面,表示連線到語言伺服器通訊協定型語言伺服器的語言用戶端。
public interface class ILanguageClient
public interface ILanguageClient
type ILanguageClient = interface
Public Interface ILanguageClient
備註
的 ILanguageClient 一般啟用順序會遵循下列模式:
- Visual Studio 會呼叫 OnLoadedAsync()、
- 擴充功能會在 從OnLoadedAsync()傳回 之前,先呼叫 事件並StartAsync等候 InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) 。
- Visual Studio 會先呼叫 和 await, ActivateAsync(CancellationToken) 再從 OnLoadedAsync()傳回 。
- 擴充功能會啟動 LSP 伺服器,並將 傳回 Connection 至 Visual Studio,
- Visual Studio 會使用 “initialize” 和 “initialized” LSP 訊息,以異步方式初始化伺服器,
- Visual Studio 完成 StartAsync 事件處理,
- 延伸模組會 OnLoadedAsync() 完成執行,
- 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「關機」要求來停止。 如果未啟動伺服器,則會忽略此事件。 |