GitHub Copilot 코드 완성 기능 검사

완료됨

GitHub Copilot 코드를 입력할 때 자동 완성 스타일 제안을 제공합니다. 표준 자동 완성 제안 외에도 GitHub Copilot은 NES(다음 편집 제안)를 제공하며, 사용자가 다음으로 편집할 가능성이 높은 위치를 예측하고 그에 대한 완성을 제안합니다.

다음 작업을 수행할 때 자동 완성 스타일 제안이 표시됩니다.

  • 편집기에서 부분 또는 전체 코드 줄을 입력합니다.
  • 편집기에서 부분 또는 전체 코드 주석을 입력합니다.
  • 편집기에서 빈 코드 줄을 입력합니다.

코드를 편집할 때 다음 편집 제안이 자동으로 표시됩니다. 최근 편집 내용에 따라 다음에 수행할 변경 내용을 예측하고 제안된 편집 위치를 보여 주는 특수 표시기와 함께 표시됩니다.

자동 완성 제안 생성

GitHub Copilot 작성하는 코드에 따라 코드 완성을 제안하여 앱 개발을 가속화합니다.

예를 들어 두 정수의 합계를 반환하는 C addInt # 메서드를 만들려는 경우를 가정해 보겠습니다. 메서드 시그니처를 입력하기 시작하면, GitHub Copilot이 사용자가 만들고자 하는 코드라고 판단되는 것을 제안합니다.

두 숫자를 추가하기 위한 자동 완성을 보여 주는 스크린샷

제안된 자동 완성은 색이 지정된 구문 강조 표시 없이 표시됩니다. 이렇게 하면 자동 완성을 기존 코드와 구분할 수 있습니다. Tab 키를 눌러 제안된 코드를 수락할 수 있습니다.

허용된 자동 완성 제안을 보여 주는 스크린샷

Esc 키를 눌러 제안을 해제할 수 있습니다.

addInt 예제는 약간 단순하므로 GitHub Copilot 더 복잡한 작업에서 어떻게 하는지 궁금할 수 있습니다.

숫자 목록을 수락하고 목록에 포함된 소수의 합계를 반환하는 메서드를 만들려는 경우를 가정해 보겠습니다. 메서드 addPrimeNumbersInNumericList의 이름을 지정할 수 있습니다. 메서드 서명을 입력하기 시작하면 GitHub Copilot 제안 사항을 생성합니다. 다음은 그 예입니다.

목록에 소수를 추가하는 메서드의 자동 완성을 보여 주는 스크린샷

제안을 수락하기 전에 검토하는 것이 중요합니다. 이 자동 완성은 양호하므로 Tab 키를 눌러 제안을 수락할 수 있습니다.

시나리오를 좀 더 계속해 보겠습니다.

제안이 코드에 병합되면 메서드에 isPrime 빨간색 밑줄이 표시됩니다. 메서드가 코드에 isPrime 아직 없기 때문입니다.

isPrime 밑줄이 빨간색으로 표시된 코드에 병합된 addPrimeNumbersInNumericList 메서드를 보여 주는 스크린샷

GitHub Copilot 복잡한 문제를 더 작고 관리하기 쉬운 조각으로 나누는 것을 포함하는 모범 사례를 따르도록 학습됩니다. 이 경우 GitHub Copilot 숫자가 소수인지 확인하기 위해 별도의 isPrime 메서드를 만들 것을 제안합니다.

GitHub Copilot은 isPrime 메서드에 대한 코드 조각을 제안할 준비가 되어 있습니다. addPrimeNumbersInNumericList 메서드 아래에 빈 줄을 입력하면 GitHub Copilot 사용할 수 있는 isPrime 메서드를 제안합니다.

isPrime 메서드를 추가하기 위한 자동 완성을 보여 주는 스크린샷

자동 완성 제안은 코드 조각을 제공하여 개발 프로세스를 가속화합니다. 그러나 제안이 필요한 것이 아니라면 어떨까요? GitHub Copilot 자동 완성 제안을 관리하기 위한 인터페이스를 제공합니다.

자동 완성 제안 관리

GitHub Copilot 자동 완성을 제안할 때 제안을 관리하기 위한 인터페이스도 제공합니다. 제안을 수락하거나, 다른 제안을 검토하거나, 제안을 해제할 수 있습니다.

제안된 자동 완성 위에 마우스 포인터를 가져가면 제안을 관리하기 위한 몇 가지 옵션이 표시됩니다.

자동 완성 제안에 대한

제안을 관리하기 위한 기본 인터페이스에는 다음 옵션이 포함됩니다.

  • 수락을 선택하여 제안(전체)을 수락합니다. Tab 키를 눌러 제안을 수락할 수도 있습니다.
  • Accept Word 선택하여 제안을 부분적으로 수락합니다. 오른쪽 화살표 키를 눌러 제안을 부분적으로 수락할 Ctrl + 수도 있습니다.
  • 선택 > 또는 <하여 대체 제안을 봅니다. 또는 Alt + ] 키를 눌러 Alt + [ 대체 제안을 볼 수도 있습니다.

Accept Word 옵션을 선택하면 제안의 다음 word 수락됩니다. 이 기능은 제안의 일부를 수락한 다음 사용자 고유의 코드를 계속 입력하려는 경우에 유용합니다. 예를 들어 메서드 제안의 첫 번째 단어를 수락할 isPrime 수 있습니다.

&"단어 수락" 옵션이 자동 완성 제안에 대해 진행 중임을 보여주는 스크린샷

제안을 원하는 만큼 수락할 때까지 Word 수락을 계속 선택합니다.

Word 수락 단추 오른쪽에 있는 줄임표(...) 아이콘을 선택하면 항상 도구 모음 표시완료 패널 열기와 같은 추가 옵션이 제공됩니다.

자동 완성 제안에 대한 추가 도구 모음 옵션을 보여 주는 스크린샷

[항상 표시 도구 모음] 옵션을 선택하면 바로 가기 키를 사용하여 자동 완성 제안을 관리할 때 도구 모음이 계속 표시됩니다. 완료 패널 사용 옵션을 선택하면 GitHub Copilot 완료 패널이 열립니다. GitHub Copilot 완성 패널을 사용하여 여러 제안 보기는 이 단원의 끝에 설명되어 있습니다.

비고

제안의 전체 줄을 수락하려면 명령에 대한 editor.action.inlineSuggest.acceptNextLine 사용자 지정 바로 가기 키를 구성해야 합니다. 이 옵션은 도구 모음에서 기본적으로 사용할 수 없습니다.

주석에서 코드 제안 생성

GitHub Copilot 코드에 따라 자동 완성을 제안하는 것 외에도 코드 주석을 사용하여 코드 조각을 제안할 수 있습니다. 자연어 구를 사용하여 만들려는 코드를 설명합니다. 이렇게 하면 GitHub Copilot 특정 요구 사항을 충족하는 자동 완성 제안을 제안할 수 있습니다. 예를 들어 계산에 사용할 알고리즘의 형식이나 클래스에 추가할 메서드와 속성을 지정할 수 있습니다.

소수 예제로 돌아가 보겠습니다. 이 시점에서 다음 코드가 있습니다.

소수 예제의 현재 코드를 보여 주는 스크린샷

addPrimeNumbersInNumericListisPrime 메서드가 완료된 것으로 보입니다. 그러나 메서드를 호출 addPrimeNumbersInNumericList 할 때 인수로 사용할 수 있는 숫자 목록이 여전히 필요합니다. 원하는 숫자 목록을 설명하는 메모를 작성할 수 있습니다. 예를 들어 1에서 1000까지의 100개의 난수 목록입니다.

주석을 입력하기 시작하면, GitHub Copilot이 주석을 완성해주는 자동 완성을 제안합니다. GitHub Copilot 주변 코드를 사용하여 제안을 개선합니다. 예를 들어 주석 // create 입력을 시작하는 경우 GitHub Copilot 주변 코드를 사용하여 만들려는 항목을 예측합니다. 이 경우 GitHub Copilot addPrimeNumbersInNumericList 메서드를 사용하여 a list of numbers 만들려는 것을 예측합니다.

주석 줄에 추가되는

메모를 계속 작성하면 GitHub Copilot 자동 완성 제안을 업데이트합니다. 제안을 수락할 준비가 되면 수락 을 선택하거나 Tab 키를 누릅니다.

메모 줄에 추가되는

주석 후에 새 코드 줄을 만들면 GitHub Copilot 주석 및 기존 코드에 따라 코드 조각을 생성하기 시작합니다.

GitHub Copilot이 첫 번째 코드 줄을 추가하는 장면을 보여주는 스크린샷입니다.

표시되는 각 제안을 수락합니다.

GitHub Copilot이 코드 줄을 계속 추가하는 모습을 보여주는 스크린샷.

GitHub Copilot이 작업을 완료하지 못할 경우, 수락할 수 있는 다른 제안을 생성합니다.

GitHub Copilot이 숫자 목록을 완료하는 것을 보여주는 스크린샷입니다.

코드 조각이 완료된 후 새 코드 줄을 입력하면 GitHub Copilot 코드 프로젝트의 요구 사항에 따라 다른 자동 완성 제안을 생성합니다. 이 경우 GitHub Copilot addPrimeNumbersInNumericList 메서드를 호출하여 numbers 목록을 전달하는 코드 줄을 제안합니다.

GitHub Copilot가 메서드 호출을 제안하는 것을 보여 주는 스크린샷.

GitHub Copilot 완료 패널을 사용하여 여러 제안 보기

초기 자동 완성 제안에 만족하지 않는 경우 GitHub Copilot 더 많은 옵션을 사용하여 편집기에서 새 탭을 열 수 있습니다. 더 큰 제안 목록을 검토하여 더 나은 일치 항목을 찾은 다음 선택할 수 있습니다.

이 기능을 보여 주려면 소수 예제의 이전 단계로 돌아가 보겠습니다.

여전히 isPrime 메서드를 만들려면 가정해 보겠습니다. addPrimeNumbersInNumericList 메서드 아래에 빈 줄을 입력하면 GitHub Copilot isPrime 메서드를 제안합니다. 이는 이전에 사용한 것과 동일한 프로세스입니다. 그러나 GitHub Copilot 제안에 만족하지 않고 더 많은 옵션을 보려고 하는 경우를 가정해 보겠습니다.

GitHub Copilot 완료 패널을 열고 다른 제안을 보려면 Ctrl + Enter 키를 누릅니다. 추가 작업 메뉴를 열고 [완료 패널 열기]를 선택할 수도 있습니다.

GitHub Copilot 제안 탭을 보여 주는 스크린샷.

GitHub Copilot 완료 패널에는 최대 10개의 다른 제안이 표시됩니다. 제안을 검토하여 요구 사항에 가장 적합한 제안을 찾습니다.

제안을 수락하려면 제안 아래의 제안 번호 레이블 수락 을 선택합니다. 예를 들어 첫 번째 제안 아래에서 제안 1 허용 레이블을 선택합니다.

모든 제안을 거부하려면 탭을 닫습니다.

요약

제안 및 다음 편집 제안을 자동 완성하면 코드를 보다 효율적이고 정확하게 작성할 수 있습니다. GitHub Copilot 코드를 입력할 때 자동 완성 제안과 다음 편집을 예측하는 다음 편집 제안을 제공합니다. 부분 또는 전체 코드 줄, 부분 또는 전체 코드 주석 또는 빈 코드 줄을 입력하여 자동 완성 제안을 생성할 수 있습니다. Tab 키를 눌러 제안을 수락하거나 Esc 키를 눌러 제안을 해제할 수 있습니다. 제안을 마우스로 가리킬 때 표시되는 도구 모음을 사용하여 제안을 관리할 수 있습니다. 도구 모음을 사용하면 대체 제안을 검토하거나, 제안을 수락하거나, 한 단어의 제안을 수락하거나, GitHub Copilot 완료 패널을 열어 더 많은 제안을 볼 수 있습니다.