Skip to main content

LSP 서버를 GitHub Copilot CLI 와 함께 사용

LSP 서버는 정확한 코드 인텔리전스를 제공하여 Copilot CLI 프로젝트 전체에서 정의를 탐색하고, 참조를 찾고, 기호 이름을 정확하게 바꿀 수 있습니다.

소개

LSP(Language Server Protocol)는 코드 편집기와 언어 서버 간의 통신에 사용되는 개방형 표준입니다. 언어 서버는 go-to-definition 및 코드베이스에서 코드 기호 이름 바꾸기와 같은 언어별 기능을 제공하는 프로세스입니다. "LSP 서버"는 언어 서버 프로토콜을 지원하는 모든 언어 서버입니다.

          GitHub Copilot CLI 는 LSP 서버를 사용하여 코드의 구조를 보다 정확하게 이해할 수 있습니다. 프로젝트의 Copilot CLI 각 프로그래밍 언어에 대한 LSP 서버를 추가하고 구성하면 코드를 더 잘 이해할 수 있습니다.

LSP 서버의 이점

  •         **정확도**: 결과는 언어 고유의 컴파일러/분석기에서 제공되며 코드의 구조를 이해합니다. 
            Copilot이(가) 귀하의 코드와 함께 작동할 때 정밀도가 향상됩니다. 예를 들어 Copilot에서 "정의로 이동"을 사용할 수 있는 경우, 유사한 텍스트 일치가 아니라 실제 정의를 찾습니다.
    
  •         **토큰 효율성**: "모든 기호 나열" 또는 "참조 찾기"와 같은 작업은 에이전트가 전체 파일을 대화로 읽도록 요구하는 대신 압축 구조화된 결과를 반환합니다.
    
  •         **안전한 리팩터링**: 기호 이름을 바꾸면 LSP 서버가 프로젝트 전체의 모든 참조를 안정적으로 업데이트합니다.
    
  •         **속도**: 언어 서버는 프로젝트를 백그라운드에서 인덱싱하여 거의 즉각적인 응답을 허용합니다.
    

LSP 서버가 Copilot CLI에 허용하는 작업

LSP 서버를 사용할 수 있는 Copilot CLI 경우 자동으로 사용합니다. 명시적으로 요청할 필요가 없습니다. Copilot CLI 는 사용 중인 프로그래밍 언어에 대한 LSP 서버에 액세스할 수 있을 때마다 텍스트 기반 검색 대신 LSP 서버를 사용합니다.

지원되는 언어 서버 작업은 다음과 같습니다.

Operation용도
정의로 이동기호(함수, 클래스, 변수)가 정의된 위치로 이동합니다.
참조 찾기기호가 사용되는 모든 위치를 찾습니다.
호버기호에 대한 형식 정보 및 설명서를 검색합니다.
이름 바꾸기모든 참조를 업데이트하여 전체 프로젝트에서 기호 이름을 바꿉니다.
문서 기호파일에 정의된 모든 기호를 나열합니다.
작업 영역 기호 검색프로젝트 전체에서 이름으로 기호를 검색합니다.
구현으로 이동인터페이스 또는 추상 메서드의 구현을 찾습니다.
수신 전화지정된 함수를 호출하는 함수를 보여 줍니다.
발신 전화지정된 함수가 호출하는 함수를 보여 줍니다.
          Copilot 는 프롬프트에 따라 가장 적절한 LSP 작업을 선택합니다. 예를 들어 " `handlePayment` 은(는) 어디에서 정의되나요?"라고 묻는 경우, Copilot는 go-to-definition 작업을 사용합니다.

LSP 서버를 추가하는 방법

          Copilot CLI LSP 서버를 사용하려면 먼저 로컬 컴퓨터에 서버 소프트웨어를 설치한 다음 시작 시 읽는 구성 파일 Copilot CLI 중 하나에서 구성해야 합니다. 
          [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers)을(를) 참조하세요.

설치하도록 선택한 CLI 플러그 인의 일부로 LSP 서버를 추가할 수도 있습니다. 예를 들어 일반적이지 않은 프로그래밍 언어 또는 프레임워크별 파일 형식으로 작동하도록 설계된 경우 플러그 인에는 LSP 서버가 포함될 수 있습니다. 플러그 인의 일부로 포함된 LSP 서버는 플러그 인을 설치할 때 자동으로 사용할 수 있습니다. 추가 구성이 필요하지 않습니다. 플러그 인을 제거하면 LSP 서버가 제거됩니다. 자세한 내용은 플러그인에 대한 정보 GitHub Copilot CLI을(를) 참조하세요.

LSP 서버 로드 방법

          GitHub Copilot CLI 시작되면 다음 우선 순위(가장 높음에서 가장 낮은 값)를 사용하여 여러 원본에서 LSP 서버 구성을 로드합니다.

1. 프로젝트 설정: 현재 리포지토리의 .github/lsp.json. 1. 플러그 인 구성: 설치된 플러그 인에서 제공하는 언어 서버입니다. 1. 사용자 구성: ~/.copilot/lsp-config.json.

우선 순위가 높은 구성은 동일한 서버 이름으로 우선 순위가 낮은 구성을 우선합니다. 즉, 프로젝트는 모든 참가자에 대해 언어 서버를 사용자 지정하거나 사용하지 않도록 설정할 수 있습니다.

작업 디렉터리가 신뢰할 수 Copilot CLI 있게 되면 프로젝트와 관련된 모든 LSP 서버를 백그라운드에서 자동으로 시작하므로 필요할 때 즉시 응답할 준비가 됩니다.

다음 단계

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers)
    

추가 읽기