Aracılığıyla paylaş


ILanguageClient Arabirim

Tanım

Dil sunucusu protokolü tabanlı bir dil sunucusuna bağlanan bir dil istemcisini temsil eden arabirim.

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

Açıklamalar

Için normal bir etkinleştirme sırası şu desene ILanguageClient göredir:

  1. Visual Studio çağrıları OnLoadedAsync(),
  2. Uzantı, uygulamasından StartAsyncOnLoadedAsync()dönmeden önce olayı çağırır ve beklerInvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs).
  3. Visual Studio, uygulamasından OnLoadedAsync()dönmeden önce öğesini çağırır ve beklerActivateAsync(CancellationToken).
  4. Uzantı LSP sunucusunu başlatır ve Visual Studio'ya döndürür Connection .
  5. Visual Studio, "initialize" ve "initialized" LSP iletilerini kullanarak sunucuyu zaman uyumsuz olarak başlatmaya başlar.
  6. Visual Studio olay işlemeyi StartAsync tamamlar,
  7. Uzantı yürütmeyi OnLoadedAsync() tamamlar,
  8. Visual Studio, "initialize" ve "initialized" LSP iletileri alınıp alındıktan (veya hata durumunda yöntemindenOnServerInitializeFailedAsync(ILanguageClientInitializationInfo)) sonra yöntemini çağırırOnServerInitializedAsync().

Özellikler

ConfigurationSections

Dil istemcisinin yapılandırma bölümü adlarını alır. Dil istemcisi ayarları sağlamıyorsa bu null olabilir.

FilesToWatch

Değişiklikler için watch dosya adlarının listesini alır. Değişiklikler sunucuya 'workspace/didChangeWatchedFiles' iletisiyle gönderilir. watch dosyaların geçerli etkin çalışma alanı altında olması gerekir. Dosya adları, tam dosyanın göreli yolları olarak veya .gitignore'daki standartta gösterilen glob desenleri olarak dosya görme https://www.kernel.org/pub/software/scm/git/docs/gitignore.html olarak belirtilebilir.

InitializationOptions

'Initialize' iletisi gönderildiğinde istemcinin göndermek istediği başlatma seçenekleri nesnesini alır. İstemcinin özel başlatma seçeneklerine ihtiyacı yoksa bu null olabilir.

Name

Dil istemcisinin adını alır (kullanıcıya görüntülenir).

ShowNotificationOnInitializeFailed

Dil sunucusu başlatılamadıktan sonra bildirim balonunun gösterilip gösterilmediğini belirten bir değer alır.

Yöntemler

ActivateAsync(CancellationToken)

Bu yöntem, uzantıya LSP sunucusunun başlatılması gerektiğini bildirmek için Visual Studio tarafından çağrılır.

OnLoadedAsync()

Bu yöntem, uzantıya dil istemcisinin yüklendiğini bildirmek için Visual Studio tarafından çağrılır. Uzantı LSP sunucusunu hemen başlatabilir veya kullanıcı eyleminin başlamasını bekleyebilir. Bu yöntemden dönmeden önce sunucu çağrısını StartAsync başlatmak ve olay üzerinde beklemek InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) için.

OnServerInitializedAsync()

Bu yöntem, Uzantıya LSP sunucusunun başlatıldığını bildirmek için Visual Studio tarafından çağrılır: LSP "initialize" ve "initialized" iletileri alınmıştır.

OnServerInitializeFailedAsync(Exception)

Dil sunucusunun başlatılamadığını belirten uzantıya işaret eder.

OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)

Bu yöntem, Uzantıya LSP sunucusunun başlatılamadığını bildirmek için Visual Studio tarafından çağrılır.

Ekinlikler

StartAsync

Visual Studio'ya sunucunun çağrılarak ActivateAsync(CancellationToken)başlatılması gerektiğini belirten zaman uyumsuz olay. Sunucu zaten başlatıldıysa, bu olay yoksayılır.

StopAsync

Visual Studio'ya bir LSP "kapatma" isteği göndererek sunucunun durdurulması gerektiğini belirten zaman uyumsuz olay. Sunucu başlatılmazsa, bu olay yoksayılır.

Şunlara uygulanır