컨텍스트로 Copilot 안내하기

GitHub Copilot을 활용한 소프트웨어 개발

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

컨텍스트의 중요성

GitHub Copilot을 활용한 소프트웨어 개발

컨텍스트의 중요성

GitHub Copilot을 활용한 소프트웨어 개발
GitHub Copilot을 활용한 소프트웨어 개발

#codebase 변수

$$

#codebase: 전체 프로젝트에서 시맨틱 코드 검색 수행

예시 프롬프트:

사용자 인증은 어떻게 처리되나요? #codebase

결과:

  • 🔍 전체 코드베이스 검색
  • 💻 관련 로직, 함수 호출 또는 설정을 답변에 포함
GitHub Copilot을 활용한 소프트웨어 개발

Copilot이 코드베이스를 이해하는 방법

인덱스 유형:

  • 로컬 인덱스: 로컬 머신에 저장
  • 원격 인덱스: GitHub에 호스팅된 저장소용
GitHub Copilot을 활용한 소프트웨어 개발

인덱스 유형 확인하기

GitHub Copilot을 활용한 소프트웨어 개발

인덱스 유형 확인하기

GitHub Copilot을 활용한 소프트웨어 개발

#changes 변수

$$

#changes: 최근 소스 제어 변경 사항 참조

예시 프롬프트:

이 변경 사항 중 로그인 흐름을 깨뜨리는 것이 있나요? #changes

사용 시점:

  • 💾 코드 수정 사항 검토 시
GitHub Copilot을 활용한 소프트웨어 개발

#selection 변수

$$

#selection: 강조 표시된 코드 블록 참조

예시 프롬프트:

이 코드를 리팩터링해 줄 수 있나요? #selection

사용 시점:

  • 🔧 빠른 편집 시
  • 📝 대상 프롬프트 작성 시
GitHub Copilot을 활용한 소프트웨어 개발

#fetch 변수

  • 문서 📚, API 참조 💻, 블로그 게시물 📰

$$

#fetch: 웹 페이지 내용 가져오기

예시 프롬프트:

이 문서를 요약해 주세요 #fetch https://example.com/docs

결과:

  • 🌐 웹 페이지를 가져와 컨텍스트로 활용
GitHub Copilot을 활용한 소프트웨어 개발

#files 변수

$$

#files: 특정 파일을 프롬프트에 첨부

예시 프롬프트:

이 파일에 오류 처리 문제가 있는지 확인해 주세요 #files:utils/data_loader.py

결과:

  • 🔍 참조된 파일 내용 분석
  • 📄 프롬프트 컨텍스트에 포함
GitHub Copilot을 활용한 소프트웨어 개발

기타 채팅 변수 및 도구

$$

Variable/tool Description
#search 현재 워크스페이스에서 파일 검색을 활성화합니다.
#testFailure 단위 테스트 실패 정보를 가져옵니다. 테스트 실행 및 진단에 유용합니다.
#problems 문제 패널의 워크스페이스 오류 및 문제를 컨텍스트로 추가합니다. 코드 수정 및 디버깅에 유용합니다.
#terminalLastCommand 마지막으로 실행한 터미널 명령과 출력을 가져옵니다.
#githubRepo GitHub 저장소에서 코드를 검색합니다.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
GitHub Copilot을 활용한 소프트웨어 개발
GitHub Copilot을 활용한 소프트웨어 개발

점진적 채팅 상호작용 구성

단일 복합 프롬프트:

인증, 영속성, 세션, 오류 처리, 연결 풀링을 포함한 PostgreSQL 통합 추가

점진적 복잡도 흐름:

  1. 데이터베이스 영속성 추가에 가장 적합한 방법은 무엇인가요? #codebase
  2. 제안된 방법으로 데이터베이스 연결을 구현하세요
  3. Task 및 User 클래스의 스키마 설계를 도와주세요
  4. 이제 세션 관리와 기본 오류 처리를 추가하세요
  5. ...
GitHub Copilot을 활용한 소프트웨어 개발

새 채팅으로 컨텍스트 초기화

GitHub Copilot을 활용한 소프트웨어 개발

새 채팅으로 컨텍스트 초기화

GitHub Copilot을 활용한 소프트웨어 개발

GitHub Copilot을 활용한 소프트웨어 개발

연습해 봅시다!

GitHub Copilot을 활용한 소프트웨어 개발

Preparing Video For Download...