GitHub Copilot을 사용한 코드 완성
GitHub Copilot 코드 완성 기능은 코드를 작성하고 검토하는 IDE 내에서 직접 제공됩니다. GitHub Copilot은 Visual Studio Code 또는 JetBrains와 같은 편집기와 원활하게 통합되어 자동 제안와 여러 제안 창, 다양한 코딩 스타일에 대한 지원과 같은 기능을 제공합니다. 사용자는 이러한 IDE 도구를 통해 주로 GitHub Copilot과 상호 작용하며, 이를 사용하는 방법과 위치를 이해하면 강력한 코드 생성 기능을 최적화하는 데 도움이 됩니다.
이 단원에서는 다음을 수행합니다.
- GitHub Copilot 지원 언어
- 자동 제안
- 여러 제안 창
- 제안에서 다양한 코딩 스타일 지원
- GitHub Copilot이 제안의 코딩 주석을 통합하는 방법
GitHub Copilot 지원 언어
GitHub Copilot은 다음과 같은 강력한 기능을 통해 광범위한 프로그래밍 언어와 프레임워크를 강력하게 지원합니다.
- 파이썬
- JavaScript
- 자바
- TypeScript
- 루비
- 가라
- C# (프로그래밍 언어)
- C++
이러한 언어는 뛰어난 지원을 받지만 GitHub Copilot은 다른 많은 언어와 프레임워크에도 도움이 될 수 있습니다.
팁 (조언)
GitHub Copilot는 매월 2,000개의 코드 자동 완성 및 50개의 채팅 메시지를 제공하는 무료 계층을 제공합니다. 시작하려면 Visual Studio Code를 열고 GitHub Copilot 아이콘을 클릭한 다음 "GitHub Copilot을 무료로 사용하려면 로그인합니다"를 클릭합니다. 브라우저에서 열리는 창에서 GitHub 계정에 로그인합니다. 자세히알아보세요. 교육자, 학생 및 선택 오픈 소스 유지 관리자는 무료로 Copilot Pro를받을 수 있습니다, 방법 알아보기: https://aka.ms/Copilot4Students.
자동 제안
Copilot은 사용자의 입력에 따라 코드 제안을 제공합니다. 때로는 현재 줄을 완료하고, 때로는 완전히 새로운 코드 블록을 제안하기도 합니다. 제안을 모두 수락하거나, 일부를 수락하거나, 무시할 수 있습니다. 실시간 컨텍스트 인식 제안을 제공하는 이 기능은 구문을 검색하거나 논리 문제를 해결하거나 일반적인 패턴을 반복적으로 작성할 필요를 줄여 중요한 개발 시간을 절약합니다.
여러 제안 창
코드 블록에서 작업 중이고 GitHub Copilot에서 제안을 제공하는 경우 회색으로 표시된 코드 조각이 표시됩니다. 더 많은 옵션을 탐색하고 개발 워크플로를 가속화하려면 제안을 마우스로 가리켜 GitHub Copilot 제어판을 표시합니다. 이 기능을 사용하면 동일한 문제에 대한 여러 접근 방식을 신속하게 평가하여 특정 컨텍스트에 가장 적합한 솔루션을 선택할 수 있습니다.
제어판에서 앞으로 또는 뒤로 화살표 버튼을 클릭하여 다음 또는 이전 제안을 확인하세요. 바로 가기 키를 사용하여 옵션을 빠르게 순환할 수도 있습니다.
- macOS: Option(⌥) 또는 Alt+](다음), Option(⌥) 또는 Alt+[(이전)
- Windows 또는 Linux: Alt+](다음), Alt+[(이전)
여러 코드 제안을 통한 이러한 빠른 반복은 코딩 흐름을 중단하지 않고도 접근 방식을 빠르게 비교할 수 있도록 하여 개발 모멘텀을 유지하는 데 도움이 됩니다. 처음부터 시작하거나 온라인에서 예제를 검색하는 대신 몇 초 내에 다양한 구현을 평가하고 요구 사항에 가장 적합한 구현을 선택하고 코딩 스타일을 지정할 수 있습니다.
GitHub Copilot은 코드를 제안하는 데 탁월하지만 다음과 같은 방법을 통해 적응하는 능력도 보여줍니다.
- 메서드 구현: 메서드 이름을 입력하기 시작하면 Copilot에서 설정된 코딩 스타일에 따라 전체 구현을 제안할 수 있습니다.
- 명명 규칙: 변수, 함수 및 클래스에 대한 기본 명명 규칙을 선택합니다.
- 서식 지정: 코필로트는 들여쓰기 스타일, 대괄호 배치 및 기타 서식 지정 기본 설정에 맞게 조정됩니다.
- 메모 스타일: 인라인 주석, 블록 주석 또는 문서 문자열을 선호하는지 여부에 관계없이 주석 스타일을 모방할 수 있습니다.
- 디자인 패턴: 프로젝트에서 특정 디자인 패턴을 일관되게 사용하는 경우 Copilot는 이러한 패턴에 맞는 코드를 제안합니다.
제안에 코딩 주석 사용
이 기능에서 주목해야 할 점은 이 기능이 코딩 주석을 통합하여 제안을 향상하는 방법입니다. 이 섹션에서는 GitHub Copilot이 주석을 활용하여 코드 완성과 생성 기능을 개선하는 다양한 방법을 살펴봅니다.
주석 컨텍스트 이해
기존 코드베이스에 통합된 경우 GitHub Copilot은 코드의 다양한 측면을 사용하여 코드 주석을 비롯하여 더욱 관련성 있는 제안을 제공합니다. 개발자는 종종 주석을 사용하여 코드 의도를 명확히 하고 공동 작업을 향상합니다. AI 코딩 도우미인 Copilot 또한 이러한 주석을 거의 동일한 방식으로 사용합니다. 주석의 의도를 이해하면 Copilot은 다음 두 가지 주요 프로세스를 통해 더욱 정확한 컨텍스트 인식 코드 제안을 제공할 수 있습니다.
- 자연어 처리: Copilot는 고급 NLP(자연어 처리) 기술을 사용하여 코드의 주석 뒤에 있는 의미와 의도를 해석합니다.
- 컨텍스트 분석: 주변 코드와 관련하여 주석을 분석하여 파일 또는 프로젝트의 광범위한 컨텍스트 내에서 관련성과 목적을 이해합니다.
활용된 주석 유형
Copilot은 다양한 유형의 주석을 사용하여 제안을 알릴 수 있습니다.
- 인라인 주석: 특정 코드 줄 옆에 있는 간단한 설명입니다.
- 주석 차단: 함수 또는 클래스를 설명할 수 있는 더 긴 설명입니다.
- Docstrings: Python과 같은 언어의 공식 문서 문자열입니다.
- TODO 주석: 향후 구현 또는 개선 사항에 대한 참고 사항입니다.
- API 설명서: 함수 또는 메서드의 사용 및 매개 변수를 설명하는 주석입니다.
주석 기반 코드 생성
Copilot은 여러 가지 방법으로 주석을 사용하여 코드를 생성하고 제안합니다.
함수 구현: 주석에 함수가 설명되면 Copilot는 해당 설명을 기반으로 전체 구현을 제안할 수 있습니다.
코드 완성: Copilot는 주석을 사용하여 개발자의 의도를 이해하여 보다 정확한 코드 완성을 제공합니다.
이 예제에서는 문자열을 되돌리는 함수를 설명하는 주석이 있습니다. 이 주석에 따라 Copilot은 문자열을 효율적으로 되돌리는 -1 단계와 함께 Python의 조각 표기법을 사용하여 구현을 제안할 가능성이 높습니다.
변수 명명: 주석은 변수 이름에 대한 Copilot의 제안에 영향을 줄 수 있으므로 보다 설명적이고 컨텍스트에 적합합니다.
여기에는 사용자가 가장 좋아하는 책 목록을 설명하는 주석이 있습니다. Copilot은 컨텍스트와 일치하는 설명이 포함된 변수 이름을 제안할 가능성이 높습니다. 이 경우 목록의 내용을 명확하게 설명하는 변수 이름으로 "favorite_books"을 제안했습니다.
알고리즘 선택: 주석이 특정 알고리즘 또는 접근 방식을 설명할 때 Copilot는 해당 메서드에 맞는 코드를 제안할 수 있습니다.
위의 예제에서는 거품형 정렬 알고리즘의 단계를 간략하게 설명하는 주석을 제공합니다. 이러한 주석에 따라 Copilot은 설명된 단계를 밀접하게 따르는 구현을 제안할 가능성이 높습니다.