GitHub Copilot 인라인 채팅, 스마트 작업 및 빠른 채팅 검사
GitHub Copilot 채팅은 채팅 보기 외에도 AI 쌍 프로그래머와 상호 작용하는 여러 가지 다른 방법을 제공합니다. 여기에는 인라인 채팅, 스마트 작업 및 빠른 채팅이 포함됩니다.
인라인 채팅
GitHub Copilot Chat의 주요 기능 중 하나는 코딩할 때 인라인으로 질문에 대답하는 것입니다. 이를 통해 개발 워크플로를 중단하지 않고 코드 편집기 내에서 직접 AI의 기능을 활용할 수 있습니다.
인라인 채팅 기능은 편집기에서 파일이 열려 있을 때만 액세스할 수 있습니다. 인라인 채팅 세션을 여는 방법은 여러 가지가 있습니다.
- Copilot 채팅 메뉴에서 편집자 인라인 채팅을 선택합니다.
- 바로 가기 키를 사용합니다. Ctrl+I.
- 코드 편집기 내부를 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 Copilot 를 선택한 다음, 인라인 채팅 편집기를 선택합니다.
코드를 작성하거나 반복할 때 인라인 채팅 세션을 사용하여 Copilot에 질문을 할 수 있습니다.
인라인 채팅 세션을 열면 편집기에서 다음 인터페이스가 표시됩니다.
다음 시나리오를 고려하세요.
- 숫자 목록을 처리하는 C# 애플리케이션을 개발하고 있습니다. 데이터는 100개의 일괄 처리로 처리됩니다.
- 아래 코드 조각을 사용하여 테스트에 사용할 수 있는 1에서 1000 사이의 100개의 임의 정수 목록을 만듭니다.
// create a list of 100 random number between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
for (int i = 0; i < 100; i++)
{
numbers.Add(random.Next(1, 1000));
}
코드가 정상적으로 작동합니다. 그러나 요구 사항이 변경되면 어떻게 될까요? 목록에 중복된 숫자가 포함되지 않도록 해야 하는 경우 어떻게 해야 해나요?
GitHub Copilot 자동 완성을 사용하여 코드를 업데이트하려면 다음을 수행해야 합니다.
- 기존 코드를 삭제합니다.
- 업데이트된 요구 사항을 반영하는 새 주석을 만듭니다.
- GitHub Copilot을 사용하여 업데이트된 주석에서 새 코드 조각을 생성합니다.
- 제안을 검토하고 최상의 옵션을 선택합니다.
다행히 그것은 필요하지 않습니다. 더 나은 솔루션은 GitHub Copilot 채팅을 사용하여 필요한 코드 업데이트를 제안하는 것입니다.
인라인 채팅 세션을 사용하여 다음과 같이 코드 업데이트를 제안할 수 있습니다.
- 업데이트하려는 코드 조각을 강조 표시합니다.
-
Ctrl+I을(를) 눌러 인라인 채팅을 엽니다. - GitHub Copilot 채팅에 업데이트를 완료하는 방법을 요청합니다.
- 제안을 검토하고 최상의 옵션을 선택합니다.
이 경우 다음과 같이 질문할 수 있습니다. Update this code to ensure that numbers doesn't include any duplicates
제안된 코드 업데이트를 원하는 경우 수락을 선택하고 코딩을 계속할 수 있습니다.
제안된 업데이트가 마음에 들지 않으면 Copilot 채팅에 다시 실행... 아이콘을 선택하여 다른 제안을 생성하도록 요청할 수 있습니다. 다시 실행 아이콘은 프롬프트 텍스트 상자 아래에 표시되는 원형 화살표로 표시됩니다.
프롬프트를 다시 실행하고 필요한 결과를 얻지 못하는 경우 추가 컨텍스트를 사용하여 프롬프트를 업데이트해 보세요. Copilot 채팅은 프롬프트가 명확하고 간결하며 정확할 때 더 나은 제안을 생성합니다. 변경 내용 없이 인라인 채팅을 닫으려면 취소를 선택합니다.
스마트 작업
일부 작업은 매우 일반적이어서 자동화할 수 있습니다. GitHub Copilot Chat에는 프롬프트를 작성하지 않고도 특정 작업을 완료할 수 있는 스마트 작업이 포함되어 있습니다. 스마트 작업은 Visual Studio Code 편집기에서 직접 실행하여 일반적인 코딩 작업을 빠르고 쉽게 수행할 수 있는 미리 정의된 작업입니다.
다음과 같은 스마트 작업을 사용할 수 있습니다.
-
설명:
Explain작업은 선택한 코드에 대한 자연어 설명을 생성합니다. 코드 조각의 목적과 기능을 이해하는 데 유용할 수 있습니다.Explain작업은 익숙하지 않은 코드를 사용하거나 다른 사용자에게 코드를 설명해야 하는 경우에 특히 유용합니다. -
수정 사항:
Fix작업은 선택한 코드에 대한 수정 사항을 제안합니다. 코드에서 오류 또는 문제가 발생하고 이를 해결하는 방법에 대한 지침이 필요한 경우 이 방법이 유용할 수 있습니다. Copilot Chat은 문제를 해결할 수 있는 변수, 제어 구조 또는 함수 호출에 대한 변경 내용을 제안할 수 있습니다. -
검토 및 메모:
Review and Comment작업은 선택한 코드에 대한 코드 검토를 제공합니다. 이는 잠재적인 문제를 식별하고, 코드 품질을 개선하고, 모범 사례가 준수되도록 하는 데 유용할 수 있습니다.Review and Comment작업은 코드의 버그, 성능 병목 현상 및 보안 취약성을 식별하는 데 도움이 될 수 있습니다. -
문서 생성:
Generate Docs작업은 선택한 코드에 대한 설명서를 만듭니다. 이는 코드베이스를 문서화하는 데 유용할 수 있으며, 특히 여러 기여자가 있는 프로젝트에서 작업하거나 코드를 다른 사용자와 공유해야 하는 경우에 유용합니다. -
테스트 생성:
Generate Tests작업은 선택한 코드에 대한 단위 테스트를 만듭니다. 이는 특히 복잡한 논리 또는 중요한 기능이 있는 프로젝트에서 작업하는 경우 코드의 정확성과 안정성을 보장하는 데 도움이 될 수 있습니다.
스마트 작업에 액세스하려면 편집기에서 코드 조각을 마우스 오른쪽 단추로 클릭하고 Copilot 상황에 맞는 메뉴에서 원하는 작업을 선택합니다.
다시 한 번 소수 앱을 살펴보겠습니다.
이전 섹션에서 인라인 채팅은 numbers이 중복을 포함하지 않도록 다음 코드를 제안했습니다.
// create a list of 100 random numbers between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
이 코드는 고유한 요소를 수집하는 것을 보장하지만 개선의 여지가 있을 수 있습니다.
이 항목 검토 스마트 작업을 사용하여 코드 선택 사항을 확인할 수 있습니다. 이 항목 검토 스마트 작업을 사용하려면:
검토가 필요한 코드 조각을 선택합니다. 이 경우에는 난수 목록을 생성하는 코드입니다.
Copilot 바로 가기 메뉴에서 이 항목 검토를 선택합니다.
제안된 업데이트를 검토하고 수락을 선택하여 변경 내용을 적용합니다.
난수를 생성하는 코드 조각의 경우 이 항목 검토 스마트 작업은 다음을 제안합니다.
- 채우기 중 여러 번 크기가 조정되는 것을 방지하기 위해
List<int> numbers의 용량으로100를 초기화합니다. - 중복 항목을 확인할 때 더 빠른 조회를 위해
HashSet<int>대신List<int>를 사용합니다.
이 경우, 이 항목 검토 스마트 작업을 통해 성능을 개선하기 위해 HashSet<int> 대신 List<int>를 사용하게 됩니다.
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers);
Console.WriteLine(sum);
HashSet를 사용하면 고유한 요소의 컬렉션을 보장하는 데 효율적으로 작동하지만 업데이트로 인해 새로운 문제가 발생합니다.
addPrimeNumbersInNumericList 메서드는 List<int>를 입력으로 예상하지만 업데이트된 코드는 HashSet<int>를 만듭니다. 이렇게 하면 다음과 같은 컴파일 오류가 발생합니다.
다행히도 수정 사항 스마트 작업을 사용하여 오류를 수정할 수 있습니다. 수정 사항 스마트 작업을 사용하려면:
수정해야 하는 코드 조각을 마우스 오른쪽 단추로 클릭합니다. 이 경우 코드에 빨간색 밑줄이 표시됩니다.
Copilot 바로 가기 메뉴에서 수정 사항을 선택합니다.
제안된 수정 사항을 검토하고 수락을 선택하여 변경 내용을 적용합니다.
Fix 스마트 작업은 오류를 수정하기 위한 하나 이상의 제안을 생성합니다. 이 경우 제안 중 하나는 ToList() 호출 내부에서 HashSet 메서드를 사용하여 List를 addPrimeNumbersInNumericList로 변환합니다. 결과 코드는 다음 코드 조각과 유사합니다.
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers.ToList());
Console.WriteLine(sum);
언제나처럼, Copilot 채팅에서 제공하는 제안을 검토합니다. 더 나은 솔루션이 있을 수 있습니다. 수락을 선택하여 제안된 수정 사항으로 코드를 업데이트할 수 있습니다.
빠른 채팅
GitHub Copilot Chat에서 채팅 상호 작용에 제공하는 세 번째 옵션은 빠른 채팅입니다.
AI와 대화형으로 빠르게 대화하려면 GitHub Copilot Chat의 빠른 채팅 기능을 사용할 수 있습니다. 이 기능은 문제를 해결하려고 하거나, 코드 조각을 이해하는 데 도움이 필요하거나, 아이디어를 브레인스토밍하려는 경우에 유용할 수 있습니다. 동료 개발자와 채팅하는 것처럼 느껴지도록 설계되어 공동 작업 문제 해결을 위한 훌륭한 도구입니다.
빠른 채팅 창을 열려면 Visual Studio Code 편집기에서 Ctrl+Shift+Alt+L을 누르거나 Copilot 채팅 메뉴에서 빠른 채팅을 열 수 있습니다.
요약
GitHub 코필로트 채팅은 인라인 채팅, 스마트 작업 및 빠른 채팅을 포함하여 AI 쌍 프로그래머와 상호 작용하는 여러 가지 방법을 제공합니다. 이러한 기능을 사용하면 질문을 하고, 코드 제안을 받고, 일반적인 코딩 작업을 빠르고 쉽게 수행할 수 있습니다.