프롬프트는 사용자가 GitHub Copilot에 하는 요청입니다. 예를 들어 사용자가 묻는 공동 파일럿 채팅질문 또는 완료하도록 요청하는 Copilot 코드 조각이 있습니다. 프롬프트 Copilot 외에도 현재 파일의 코드 및 채팅 기록과 같은 추가 컨텍스트를 사용하여 응답을 생성합니다.
이 문서의 팁을 따라 Copilot에서 더 나은 응답을 생성하는 프롬프트를 작성하세요.
일반적으로 시작하고 구체적으로 진행
Copilot에 대한 프롬프트를 작성할 때는 먼저 Copilot에 목표 또는 시나리오에 대한 개괄적인 설명을 제공합니다. 그런 다음 특정 요구 사항을 나열합니다.
예시:
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime
The function should take an integer and return true if the integer is prime
The function should error if the input is not a positive integer
예제 제공
예제를 Copilot 사용하여 원하는 내용을 이해할 수 있습니다. 예제 입력 데이터, 예제 출력, 예제 구현을 제공할 수 있습니다.
예시:
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
단위 테스트는 예제로도 사용할 수 있습니다. 함수를 작성하기 전에 함수에 대한 단위 테스트를 작성하는 데 사용할 Copilot 수 있습니다. 그런 다음, 해당 단위 테스트에서 설명하는 함수를 작성하도록 요청할 Copilot 수 있습니다.
복잡한 작업을 더 간단한 작업으로 나누기
복잡하거나 큰 작업을 완료하려면 Copilot 작업을 간단하고 작은 여러 작업으로 분할합니다.
예를 들어 단어 검색 퍼즐을 생성하도록 요청하는 Copilot 대신 프로세스를 더 작은 작업으로 세분화하고 하나씩 수행하도록 요청 Copilot 합니다.
- 10x10 표의 문자를 생성하는 함수를 작성합니다.
- 유효한 단어 목록이 지정된 경우 문자 표의 모든 단어를 찾는 함수를 작성합니다.
- 이전 함수를 사용하여 10개 이상의 단어를 포함하는 10x10 표의 문자를 생성하는 함수를 작성합니다.
- 문자 표와 표에서 임의의 단어 10개를 인쇄하도록 이전 함수를 업데이트합니다.
모호성 방지
모호한 용어를 피하세요. 예를 들어, "this"가 현재 파일, 마지막 Copilot 응답 또는 특정 코드 블록을 가리킬 수 있는 경우에는 "this가 무엇을 하는가"라고 묻지 마세요. 대신 다음과 같이 구체적으로 설명합니다.
- Go에서
createUser함수는 어떤 기능을 하나요? - 마지막 응답의 코드는 무엇을 합니까?
모호성은 라이브러리에도 적용될 수 있습니다.
- 일반적이지 않은 라이브러리를 사용하는 경우 라이브러리가 수행하는 작업을 설명합니다.
- 특정 라이브러리를 사용하려면 파일 맨 위에 import 문을 설정하거나 사용할 라이브러리를 지정합니다.
관련 코드 표시
코딩할 때 IDE에서 제안을 가져오는 경우 Copilot 관련 파일을 열고 관련 없는 파일을 닫습니다. Copilot 는 열려 있는 파일을 사용하여 요청을 이해합니다.
IDE에서 사용하는 공동 파일럿 채팅 경우 파일을 열거나 참조할 Copilot 코드를 강조 표시합니다. 키워드를 사용하여 컨텍스트 공동 파일럿 채팅를 수동으로 제공할 수도 있습니다. 예를 들어 VS Code에서 @workspace 채팅 참가자를 추가하거나 JetBrains IDE에서 @project 추가할 수 있습니다.
GitHub 코파일럿 챗 치트 시트 참조하세요.
실험 및 반복
원하는 결과를 얻지 못하면 프롬프트를 반복하고 다시 시도합니다.
코딩할 때 제안을 가져오는 데 사용하는 Copilot 경우 제안을 완전히 삭제하고 다시 시작할 수 있습니다. 또는 제안을 유지하고 수정을 요청할 수 있습니다.
사용하는 공동 파일럿 채팅경우 다음 요청에서 이전 응답을 참조할 수 있습니다. 또는 이전 응답을 삭제하고 다시 시작할 수 있습니다.
관련 기록 유지
공동 파일럿 채팅 는 채팅 기록을 사용하여 요청에 대한 컨텍스트를 가져옵니다. Copilot에 관련 기록만 제공하려면:
- 스레드를 사용하여 새 작업을 위한 새 대화 시작
- 더 이상 관련이 없거나 원하는 결과를 제공하지 않는 요청 삭제
우수한 코딩 사례 따르기
코드베이스에서 제안 또는 설명을 요청할 Copilot 때 원하는 응답을 받지 못하는 경우 기존 코드가 모범 사례를 따르고 읽기 쉬운지 확인합니다. 예시:
- 일관된 코드 스타일 및 패턴 사용
- 변수 및 함수에 설명이 포함된 이름 사용
- 코드에 주석 추가하기
- 코드를 모듈식 범위 구성 요소로 구성
- 단위 테스트 포함
코드가 모범 사례를 따르도록 돕는 데 사용합니다 Copilot . 예를 들어 주석을 추가하거나 큰 함수를 더 작은 함수로 나누도록 요청 Copilot 합니다.