GitHub Copilot의 코드 완성 기능 검사
GitHub Copilot는 코드를 입력할 때 자동 완성 스타일 제안을 제공합니다. 다음 작업을 수행할 때 자동 완성 스타일 제안이 표시됩니다.
- 편집기에서 부분 또는 전체 코드 줄을 입력합니다.
- 편집기에서 부분 또는 전체 코드 주석을 입력합니다.
- 편집기에서 빈 코드 줄을 입력합니다.
자동 완성 제안 생성
GitHub Copilot는 작성하는 코드에 따라 코드 완성을 제안하여 앱 개발을 가속화합니다.
예를 들어 두 정수의 합계를 반환하는 addInt이라는 C# 메서드를 만들려고 합니다. 메서드 서명을 입력하기 시작하면 GitHub Copilot에서 만들려는 코드를 제안합니다.

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

Esc 키를 눌러 제안을 해제할 수 있습니다.
addInt 예제는 약간 단순하므로 GitHub Copilot가 좀 더 복잡한 작업을 수행하는지 궁금할 수 있습니다.
숫자 목록을 수락하고 목록에 포함된 소수의 합계를 반환하는 메서드를 만들려는 경우를 가정해 보겠습니다. 메서드 이름을 addPrimeNumbersInNumericList수 있습니다. 메서드 서명을 입력하기 시작하면 GitHub Copilot에서 제안 사항을 생성합니다. 다음은 그 예입니다.

제안을 수락하기 전에 검토하는 것이 중요합니다. 이 자동 완성은 양호하므로 Tab 키를 눌러 제안을 수락할 수 있습니다.
시나리오를 좀 더 계속해 보겠습니다.
제안이 코드에 병합되면 isPrime 메서드에 빨간색 밑줄이 표시됩니다. isPrime 메서드가 아직 코드에 없기 때문입니다.

GitHub Copilot는 복잡한 문제를 더 작고 관리하기 쉬운 조각으로 나누는 것을 포함하는 모범 사례를 따르도록 학습됩니다. 이 경우 GitHub Copilot는 숫자가 소수인지 확인하기 위해 별도의 isPrime 메서드를 만들 것을 제안합니다.
GitHub Copilot은 isPrime 메서드에 대한 코드 조각을 제안할 준비가 되어 있습니다. addPrimeNumbersInNumericList 메서드 아래에 빈 줄을 입력하면 GitHub Copilot에서 사용할 수 있는 isPrime 메서드를 제안합니다.

자동 완성 제안은 코드 조각을 제공하여 개발 프로세스를 가속화합니다. 그러나 제안이 필요한 것이 아니라면 어떨까요? GitHub Copilot는 자동 완성 제안을 관리하기 위한 인터페이스를 제공합니다.
자동 완성 제안 관리
GitHub Copilot에서 자동 완성을 제안할 때 제안을 관리하기 위한 인터페이스도 제공합니다. 제안을 수락하거나, 다른 제안을 검토하거나, 제안을 해제할 수 있습니다.
제안된 자동 완성 위에 마우스 포인터를 가져가면 제안을 관리하기 위한 몇 가지 옵션이 표시됩니다.

제안을 관리하기 위한 기본 인터페이스에는 다음 옵션이 포함됩니다.
- 수락을 선택하여 제안(전체)을 수락합니다. Tab 키를 눌러 제안을 수락할 수도 있습니다.
- 워드 수락을 선택하여 제안을 부분적으로 수락합니다.
Ctrl+>키를 눌러 제안을 부분적으로 수락할 수도 있습니다. >또는<을 선택하여 대체 제안을 봅니다.Alt+]또는Alt+[키를 눌러 대체 제안을 볼 수도 있습니다.
Word 수락 옵션을 선택하면 제안의 다음 단어가 허용됩니다. 이 기능은 제안의 일부를 수락한 다음 사용자 고유의 코드를 계속 입력하려는 경우에 유용합니다. 예를 들어 isPrime 메서드 제안의 첫 번째 단어를 수락할 수 있습니다.
"단어 수락" 옵션이 자동 완성 제안을 위해 진행 중인 것을 보여주는 
원하는 만큼 제안을 수락할 때까지 워드 수락을 계속 선택합니다.
Word 수락 버튼 오른쪽에 있는 줄임표(...) 아이콘을 선택하면, 줄 수락, 도구 모음 항상 표시, 및 완성 패널 열기 옵션이 제공됩니다.

수락 라인 옵션을 선택하면 제안의 전체 줄이 수락됩니다. Always Show 도구 모음 옵션을 선택하면 자동 완성 제안을 관리하기 위해 핫 키를 사용할 때 도구 모음이 계속 표시됩니다. [완료 패널 열기] 옵션을 선택하면 GitHub Copilot 완료 탭이 열립니다. GitHub 코필로트 완성 탭을 사용하여 여러 제안 보기는 이 단원의 끝에 설명되어 있습니다.
주석에서 코드 제안 생성
GitHub Copilot는 코드를 기반으로 자동 완성을 제안하는 것 외에도 코드 주석을 사용하여 코드 조각을 제안할 수 있습니다. 자연어 구를 사용하여 만들려는 코드를 설명합니다. 이를 통해 Copilot는 특정 요구 사항을 충족하는 자동 완성 제안을 제안할 수 있습니다. 예를 들어 계산에 사용할 알고리즘의 형식이나 클래스에 추가할 메서드와 속성을 지정할 수 있습니다.
소수 예제로 돌아가 보겠습니다. 이 시점에서 다음 코드가 있습니다.

addPrimeNumbersInNumericList 및 isPrime 메서드가 완료된 것으로 보입니다. 그러나 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는 addPrimeNumbersInNumericList목록을 전달하여 numbers 메서드를 호출하는 코드 줄을 제안합니다.

GitHub Copilot 제안 탭을 사용하여 여러 제안 보기
초기 자동 완성 제안에 만족하지 않는 경우 GitHub Copilot는 더 많은 옵션을 사용하여 편집기에서 새 탭을 열 수 있습니다. 더 큰 제안 목록을 검토하여 더 나은 일치 항목을 찾은 다음 선택할 수 있습니다.
이 기능을 보여 주려면 소수 예제의 이전 단계로 돌아가 보겠습니다.
isPrime 메서드를 아직도 만들어야 한다고 가정해 보세요. addPrimeNumbersInNumericList 메서드 아래에 빈 줄을 입력하면 GitHub Copilot에서 isPrime 메서드를 제안합니다. 이는 이전에 사용한 것과 동일한 프로세스입니다. 그러나 GitHub Copilot가 제공하는 제안에 만족하지 않고 더 많은 옵션을 보고 싶다고 가정해 보겠습니다.
GitHub Copilot 제안 탭을 열고 다른 제안을 보려면 Ctrl + Enter 키를 누릅니다. 추가 작업 메뉴를 열고 [완료 패널 열기]를 선택할 수도 있습니다.

GitHub Copilot 제안 탭에는 최대 10개의 다른 제안이 표시됩니다. 제안을 검토하여 요구 사항에 가장 적합한 제안을 찾습니다.
제안을 수락하려면 제안 아래의 Accept selection 레이블을 선택합니다. 예를 들어 첫 번째 제안 아래의 Accept suggestion 1 레이블을 선택합니다.
모든 제안을 거부하려면 탭을 닫습니다.
요약
자동 완성 제안을 사용하면 코드를 보다 효율적이고 정확하게 작성할 수 있습니다. GitHub Copilot는 코드를 입력할 때 자동 완성 제안을 제공합니다. 부분 또는 전체 코드 줄, 부분 또는 전체 코드 주석 또는 빈 코드 줄을 입력하여 자동 완성 제안을 생성할 수 있습니다. Tab 키를 눌러 제안을 수락하거나 Esc 키를 눌러 제안을 해제할 수 있습니다. 제안을 마우스로 가리킬 때 표시되는 도구 모음을 사용하여 제안을 관리할 수 있습니다. 도구 모음을 사용하면 대체 제안을 검토하고, 제안을 수락하거나, 한 단어의 제안을 수락하거나, GitHub Copilot 완료 탭을 열어 더 많은 제안을 볼 수 있습니다.