Share via


ILanguageClient 인터페이스

정의

언어 서버 프로토콜 기반 언어 서버에 연결하는 언어 클라이언트를 나타내는 인터페이스입니다.

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

설명

에 대한 ILanguageClient 일반 정품 인증 시퀀스는 다음 패턴을 따릅니다.

  1. Visual Studio는 를 호출합니다 OnLoadedAsync().
  2. 확장은 에서 OnLoadedAsync()반환하기 전에 이벤트를 호출하고 대기합니다.InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs)StartAsync
  3. Visual Studio는 에서 OnLoadedAsync()반환하기 전에 를 호출하고 대기합니다ActivateAsync(CancellationToken).
  4. 확장은 LSP 서버를 시작하고 를 Visual Studio에 반환 Connection 합니다.
  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 see https://www.kernel.org/pub/software/scm/git/docs/gitignore.html 파일의 표준에 따른 glob 패턴으로 지정할 수 있습니다.

InitializationOptions

'initialize' 메시지를 보낼 때 클라이언트가 보내려는 초기화 옵션 개체를 가져옵니다. 클라이언트에 사용자 지정 초기화 옵션이 필요하지 않은 경우 null일 수 있습니다.

Name

언어 클라이언트의 이름을 가져옵니다(사용자에게 표시됨).

ShowNotificationOnInitializeFailed

언어 서버를 초기화하지 못할 때 알림 거품이 표시되는지 여부를 나타내는 값을 가져옵니다.

메서드

ActivateAsync(CancellationToken)

이 메서드는 LSP 서버를 시작해야 한다는 것을 확장에 알리기 위해 Visual Studio에서 호출됩니다.

OnLoadedAsync()

이 메서드는 Visual Studio에서 언어 클라이언트가 로드되었음을 확장에 알리기 위해 호출됩니다. 확장은 LSP 서버를 즉시 시작하거나 사용자 작업이 시작될 때까지 기다릴 수 있습니다. 이 메서드에서 반환하기 전에 서버 호출을 StartAsync 시작하고 이벤트에 대해 대기 InvokeAsync<TEventArgs>(AsyncEventHandler<TEventArgs>, Object, TEventArgs) 하려면

OnServerInitializedAsync()

이 메서드는 LSP 서버가 초기화되었음을 확장에 알리기 위해 Visual Studio에서 호출합니다. LSP "초기화" 및 "초기화된" 메시지가 교환되었습니다.

OnServerInitializeFailedAsync(Exception)

언어 서버를 초기화하지 못했다는 신호를 확장에 보냅니다.

OnServerInitializeFailedAsync(ILanguageClientInitializationInfo)

이 메서드는 Visual Studio에서 LSP 서버 초기화에 실패했음을 확장에 알리기 위해 호출됩니다.

이벤트

StartAsync

Visual Studio에 서버를 호출 ActivateAsync(CancellationToken)하여 시작해야 함을 나타내는 비동기 이벤트입니다. 서버가 이미 시작된 경우 이 이벤트는 무시됩니다.

StopAsync

Visual Studio에 LSP "종료" 요청을 전송하여 서버를 중지해야 함을 나타내는 비동기 이벤트입니다. 서버가 시작되지 않으면 이 이벤트는 무시됩니다.

적용 대상