GitHub Copilot 코드 개발 기능 검사

완료됨

GitHub Copilot Visual Studio Code 기본 제공되어 AI 기반 지원을 개발 환경에 직접 제공합니다. GitHub Copilot 애플리케이션을 확장하거나 개선하는 제안을 생성하여 개발자 생산성을 향상시킵니다. GitHub Copilot 코드 제안을 생성하는 두 가지 주요 방법을 제공합니다.

  • 인라인 제안: GitHub Copilot 편집기 또는 코드 주석에 입력한 코드를 사용하여 코드 완성 제안을 생성합니다.
  • 채팅 상호 작용: GitHub Copilot은 채팅 상호 작용이나 선택된 코드에 작용하는 스마트 작업을 기반으로 코드 제안을 생성합니다.

참고

이 모듈에서는 GitHub Copilot 사용하여 새 코드 기능 및 애플리케이션을 개발합니다. GitHub Copilot 사용하여 단위 테스트를 만들고 GitHub Copilot 사용하여 기존 코드를 개선하는 별도의 모듈이 있습니다.

Visual Studio Code의 GitHub Copilot 도구

Visual Studio Code는 다음 GitHub Copilot 및 GitHub Copilot 채팅 기능에 쉽게 액세스할 수 있도록 제공합니다.

  • 코드 줄 완성: 코드 줄 완성을 사용하여 코드를 보다 효율적으로 작성합니다. 여기에는 커서의 고스트 텍스트 제안과 향후 편집 위치와 내용을 예측하는 다음 편집 제안(NES)이 포함됩니다.
  • 인라인 채팅: 코딩하는 동안 편집기에서 직접 인라인 채팅 대화를 시작하여 도움을 받으세요.
  • 채팅 보기: 언제든지 도움이 될 수 있는 AI 도우미를 엽니다. 채팅 보기는 에이전트 선택기를 사용하여 GitHub Copilot 작동 방식을 선택합니다. 대화형 도움말의 경우 Ask플랜 코드를 작성하기 전에 구현 계획을 연구하고 디자인하거나 Agent를 사용하여 여러 파일에서 자율적으로 작업합니다.
  • 빠른 채팅: 빠른 질문을 하고 현재 작업을 다시 시작하세요. Ctrl+Shift+Alt+L 바로 가기 키를 사용하여 빠른 채팅을 열거나 Visual Studio Code 제목 표시줄의 채팅 메뉴에서 선택합니다.
  • 스마트 작업: 스마트 작업을 실행하여 프롬프트를 작성하지 않고도 특정 작업을 완료합니다.

GitHub Copilot ai의 기능을 Visual Studio Code 환경에 제공합니다.

GitHub Copilot 코드 줄 완성을 사용하여 코드 생성

GitHub Copilot 코드를 작성할 때 두 종류의 인라인 제안을 생성합니다.

입력할 때 커서 위치에 고스트 텍스트 제안이 표시됩니다. 애플리케이션에 이미 있는 코드는 GitHub Copilot 정확한 제안을 생성하는 데 사용하는 컨텍스트를 제공합니다. 예를 들어 고객 지출을 처리하는 클래스에서 작업하고 있다고 가정해 보겠습니다. 클래스는 모든 고객에 대한 지출이 포함된 목록을 사용합니다. 모든 지출의 합계를 반환하는 메서드를 만들어야 합니다. 메서드 서명을 입력하기 시작하면 GitHub Copilot 코드 줄을 완료하는 제안을 생성합니다.

코드를 기반으로 하는 코드 줄 완성을 보여 주는 스크린샷

제안에 만족하는 경우 Tab 키를 누르거나 수락을 선택합니다. 자동 완성은 시간을 절약하고 변수 및 기타 코드 요소의 이름을 제공하여 코드를 정확하게 작성하는 데 도움이 됩니다.

코드 줄 완성을 사용하여 코드를 생성하기 위한 다양한 옵션을 볼 수도 있습니다. 예를 들어 메서드에 대한 호출 문을 입력하기 시작하면 GitHub Copilot 다양한 메서드 오버로드를 구현하는 제안을 제공합니다. 제안을 순환하고 의도와 일치하는 옵션을 수락할 수 있습니다. 모든 제안을 거부할 수도 있습니다. 이 프로세스를 통해 다양한 코딩 스타일과 기술을 빠르게 탐색할 수 있습니다.

GitHub Copilot 코드 주석에서 코드 줄 완성 제안도 생성합니다. 예를 들어 만들려는 메서드를 설명하는 주석을 입력하면 GitHub Copilot 메서드 서명 및 구현에 대한 제안을 생성합니다.

주석을 기반으로 하는 코드 줄 완성을 보여 주는 스크린샷

제안된 코드 완성은 기존 코드의 정보와 메서드를 설명하는 코드 주석을 사용합니다.

개발자는 고스트 텍스트 완성을 사용하여 초기 코드 구조의 개발을 가속화합니다.

다음 편집 제안(Next edit suggestions)은 다음에 나올 작업뿐만 아니라 파일의 다른 위치에 있는 경우라도 다음 편집이 필요할 위치를 예측하여 인라인 제안을 발전시킵니다. 변수의 이름을 바꾸거나, 데이터 형식을 변경하거나, 논리 오류를 수정하는 경우 NES는 코드를 일관성 있게 유지하기 위해 수행해야 하는 후속 편집을 제안합니다. 편집기에서 여백 화살표는 제안을 사용할 수 있음을 나타냅니다. Tab 키를 눌러 탐색한 다음 Tab 키를 다시 눌러 수락합니다. 다음 단원에서는 고스트 텍스트 완성 및 다음 편집 제안을 자세히 살펴봅니다.

GitHub Copilot Chat 사용하여 코드 생성

GitHub Copilot Chat 채팅 인터페이스 및 스마트 작업을 사용하여 코드를 만드는 데 도움이 됩니다. 예를 들어 GitHub Copilot Chat에 새 메서드를 만들라는 프롬프트를 입력하면 GitHub Copilot 하나 이상의 메서드 서명 및 구현에 대한 제안을 제공합니다. 제안을 검토하고 수락하거나 삭제하면 코드의 초기 버전을 보다 빠르고 정확하게 만들 수 있습니다.

참고

Visual Studio Code GitHub Copilot 사용자 입력을 처리하는 채팅 인터페이스가 포함되어 있습니다. 이 교육에서는 채팅 세션 중에 제공한 입력을 참조할 때 질문프롬프트 라는 용어를 사용합니다.

GitHub Copilot Chat 새 라이브러리, 프레임워크 또는 API와 같은 익숙하지 않은 리소스를 구현하는 코드를 개발해야 할 때 특히 유용합니다. 요구 사항을 설명하는 프롬프트를 제출하면 GitHub Copilot Chat 목표를 달성하는 방법을 보여 주는 제안을 생성합니다. 제안을 검토하면 새 리소스를 구현하는 방법을 배울 수도 있습니다.

GitHub Copilot Chat 명확한 범위와 의도가 포함된 프롬프트 또는 질문을 제공하면 생성된 응답이 향상됩니다. 컨텍스트를 제공하고 요구 사항을 대화형 스타일로 설명하는 질문을 할 수 있습니다. GitHub Copilot Chat 사용자가 제공한 정보를 사용하여 요구 사항을 충족하고 코딩 스타일과 일치하는 코드 제안을 생성합니다.

채팅 참가자, 슬래시 명령 및 채팅 변수를 사용하여 프롬프트의 컨텍스트를 명확히 할 수 있습니다.

  • 채팅 참가자(예: @terminal)는 GitHub Copilot Chat이 질문의 컨텍스트를 이해하는 데 도움이 됩니다.
  • /explain 또는 /new 같은 슬래시 명령은 GitHub가 질문의 의도 또는 목적을 Copilot Chat 이해하는 데 도움이 됩니다.
  • Copilot Chat이 질문의 더 큰 컨텍스트를 고려할 때 특정 항목에 집중할 수 있도록 #file 또는 #editor 같은 채팅 변수가 도움이 됩니다.

이러한 특수 설명자를 사용하면 GitHub Copilot Chat이 보다 정확하고 유용한 응답을 생성하는 데 도움이 됩니다.

슬래시 명령을 사용하여 Copilot Chat 특정 작업을 수행할 수 있습니다. 예를 들어 다음 프롬프트를 사용하여 새 C# 콘솔 애플리케이션을 스캐폴드할 수 있습니다.

/new console application in C#

이 프롬프트는 슬래시 명령(/new)을 사용하여 GitHub Copilot Chat이 의도한 작업을 수행하도록 돕습니다.

GitHub Copilot 더 복잡한 프로젝트를 스캐폴드할 수 있습니다. 예를 들어 다음 프롬프트는 Express 프레임워크, Pug 템플릿 엔진 및 TypeScript를 사용하는 Node.js 애플리케이션에 대한 작업 영역을 만듭니다.

/new Node.js Express Pug TypeScript

채팅 보기를 사용하여 GitHub Copilot Chat 사용하여 코드 생성

Visual Studio Code 채팅 보기는 코드를 개발하는 데 도움이 되는 AI 도우미에 대한 액세스를 제공합니다. Visual Studio Code 환경을 벗어나지 않고도 AI 도우미에게 질문하고 도움을 받을 수 있습니다. 채팅 보기는 코드를 개발할 때와 어려운 코딩 문제를 해결하는 방법을 탐색할 때 도움을 제공합니다. 채팅 보기를 사용하여 기존 코드에 대한 질문을 하고, 오류 또는 코딩 논리에 대한 도움을 받고, 리소스 사용에 대한 정보를 얻을 수도 있습니다. 채팅 보기를 사용하면 새로운 코딩 기술을 배우고, 다양한 코딩 스타일을 탐색하고, 코딩 기술을 향상할 수 있습니다.

채팅 보기는 Visual Studio Code 코드 편집기 오른쪽에 있는 자체 패널에서 열립니다. 채팅 보기를 열려면 Visual Studio Code 제목 표시줄에서 Chat를 선택하거나 Ctrl+Alt+I 바로 가기 키를 사용합니다.

Visual Studio Code 더 많은 화면 공간이 필요한 경우 채팅 보기의 상황에 맞는 메뉴에서 모브 채팅을 편집기 영역 또는 모브 채팅을 새 창으로 전환 선택하여 별도의 창에서 채팅 보기를 열 수 있습니다.

채팅을 편집기 영역 또는 새 창으로 이동하는 옵션을 보여 주는 채팅 보기의

GitHub Copilot Chat 다음 요소를 포함하는 풍부한 대화형 결과를 제공합니다.

  • 간단한 텍스트 예를 들어 질문에 자연어 응답을 제공합니다.
  • 이미지. 예를 들어 다이어그램 또는 스크린샷을 표시합니다.
  • 버튼. 예를 들어, 작업을 실행합니다.
  • 참조. 예를 들어 자세한 정보를 찾을 수 있는 URI(Uniform Resource Identifier)가 있습니다.
  • 파일 트리. 예를 들어 채팅 참가자가 새 작업 영역을 만들도록 제안할 때 작업 영역 미리 보기를 표시합니다.

다음 예제에서는 Express 앱을 만드는 데 사용되는 프롬프트에 대한 응답을 보여줍니다. GitHub Copilot Chat 간단한 텍스트 설명, 제안된 작업 영역 구조를 보여 주는 트리 보기 및 새 작업 영역을 만드는 데 사용할 수 있는 단추를 제공합니다.

GitHub Copilot 대화의 기록을 유지 관리합니다. 이 기록은 GitHub Copilot Chat 제안된 응답 및 후속 질문을 개선하는 데 사용됩니다.

채팅 보기에서 코드 블록 관리

질문에 따라 GitHub Copilot Chat 응답에서 소스 코드를 반환할 수 있습니다. 소스 코드는 코드 블록으로 표시되며 몇 가지 다른 방법으로 코드를 관리할 수 있습니다.

마우스 포인터를 코드 블록 위로 가져가면 코드 블록을 관리하는 옵션이 표시됩니다. 초기 옵션은 편집기,커서에 삽입(Ctrl+Enter)복사에 적용됩니다. 다음 이미지는 선택한 복사 옵션을 보여줍니다.

복사 옵션이 선택된 채팅 보기의 코드 블록을 보여 주는 스크린샷

기타 작업(...) 단추에는 터미널에 삽입(Ctrl+Alt+Enter)새 파일에 삽입하는 옵션이 표시됩니다.

GitHub Copilot Chat이 코드 블록에 명령이 포함되어 있음을 감지하는 경우, 터미널에 삽입 (Ctrl+Alt+Enter)으로 통합 터미널에서 직접 실행할 수 있습니다. 이 옵션은 활성 터미널을 만들거나 열고 실행할 준비가 된 명령 텍스트를 삽입합니다.

채팅 보기의 터미널에 삽입 옵션을 보여 주는 스크린샷

인라인 채팅을 사용하여 GitHub Copilot Chat 사용하여 코드 생성

인라인 채팅 인터페이스는 코드에 집중하면서 강력한 AI 기능에 대한 액세스를 제공합니다. 코드 편집기에서 작업하는 경우 키보드에서 Ctrl+I 를 눌러 인라인 채팅을 열 수 있습니다.

인라인 채팅 기능은 다음과 같은 방법으로 사용할 수 있습니다.

  • 기존 코드에 대해 질문하다.
  • 기존 코드 수정 또는 대체
  • 새 코드 생성

인라인 채팅을 사용하여 새 기능 만들기

인라인 채팅 인터페이스를 사용하여 새 코드 기능을 개발할 수 있습니다. 예를 들어 인라인 채팅을 사용하여 새 사용자 인터페이스 구성 요소, 새 API 엔드포인트 또는 새 데이터 처리 파이프라인을 만들 수 있습니다.

인라인 채팅을 사용하여 새 코드 기능을 만들려면 다음을 수행합니다.

  1. 편집기에서 새 코드를 삽입할 위치에 커서를 놓습니다.

  2. 키보드에서 Ctrl+I를 눌러 인라인 채팅을 엽니다.

  3. 만들려는 기능을 설명하는 프롬프트를 입력합니다. 다음은 그 예입니다.

    Create a method that reads a list of sales records and calculates the total revenue by product category.
    
  4. 제안을 검토하고 결과가 의도와 일치하지 않는 경우 프롬프트를 구체화합니다.

  5. 수락을 선택하여 제안을 적용합니다.

인라인 채팅을 사용하여 정규식 만들기

정규식은 문자열의 문자 조합을 일치시킬 때 사용되는 패턴입니다. 일부 개발자는 정규식이 복잡하고 이해하기 어려울 수 있으므로 쓰기가 어렵습니다.

인라인 채팅 인터페이스를 사용하여 정규식을 빠르고 정확하게 생성할 수 있습니다. 예를 들어, 인라인 채팅을 사용하여 정규식을 생성하여 이메일 주소, 전화 번호, 우편 번호 및 기타 데이터 패턴을 검증할 수 있습니다.

인라인 채팅을 사용하여 정규식을 만들려면 다음을 수행합니다.

  1. 편집기에서 유효성 검사를 추가할 코드를 선택합니다.

  2. 키보드에서 Ctrl+I를 눌러 인라인 채팅을 엽니다.

  3. 유효성을 검사하는 데 필요한 데이터 패턴을 설명하는 프롬프트를 입력합니다. 다음은 그 예입니다.

    I want to create a regular expression to validate email addresses.
    
  4. 제안을 검토하고 만족하면 수락 을 선택합니다.

요약

GitHub Copilot 개발자가 더 빠르고 적은 오류로 코드를 작성하는 데 도움이 됩니다. 편집기 또는 코드 주석에 입력한 코드를 사용하여 인라인 코드 완성 제안을 생성하고 채팅 상호 작용 또는 선택한 코드에서 작동하는 스마트 작업을 기반으로 코드 제안을 생성합니다.