프롬프트는 사용자가 GitHub Copilot에 하는 요청입니다. 예를 들어 사용자가 묻는 Copilot Chat질문 또는 완료하도록 요청하는 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 Chat 경우 파일을 열거나 참조할 Copilot 코드를 강조 표시합니다. 키워드를 사용하여 컨텍스트 Copilot Chat를 수동으로 제공할 수도 있습니다. 예를 들어 VS Code에서 @workspace 채팅 참가자를 추가하거나 JetBrains IDE에서 @project 추가할 수 있습니다.
GitHub 코파일럿 챗 치트 시트 참조하세요.
실험 및 반복
원하는 결과를 얻지 못하면 프롬프트를 반복하고 다시 시도합니다.
코딩할 때 제안을 가져오는 데 사용하는 Copilot 경우 제안을 완전히 삭제하고 다시 시작할 수 있습니다. 또는 제안을 유지하고 수정을 요청할 수 있습니다.
사용하는 Copilot Chat경우 다음 요청에서 이전 응답을 참조할 수 있습니다. 또는 이전 응답을 삭제하고 다시 시작할 수 있습니다.
관련 기록 유지
Copilot Chat 는 채팅 기록을 사용하여 요청에 대한 컨텍스트를 가져옵니다. Copilot에 관련 기록만 제공하려면:
- 스레드를 사용하여 새 작업을 위한 새 대화 시작
- 더 이상 관련이 없거나 원하는 결과를 제공하지 않는 요청 삭제
우수한 코딩 사례 따르기
코드베이스에서 제안 또는 설명을 요청할 Copilot 때 원하는 응답을 받지 못하는 경우 기존 코드가 모범 사례를 따르고 읽기 쉬운지 확인합니다. 예시:
- 일관된 코드 스타일 및 패턴 사용
- 변수 및 함수에 설명이 포함된 이름 사용
- 코드에 주석 추가하기
- 코드를 모듈식 범위 구성 요소로 구성
- 단위 테스트 포함
코드가 모범 사례를 따르도록 돕는 데 사용합니다 Copilot . 예를 들어 주석을 추가하거나 큰 함수를 더 작은 함수로 나누도록 요청 Copilot 합니다.