copilot-emacs/copilot.el

An unofficial Copilot plugin for Emacs.

해결하는 문제

copilot.el은 GitHub Copilot의 AI 기반 코드 보조 기능을 직접 에디터에 통합하는 Emacs 플러그인입니다. 에디터와 별도의 브라우저나 AI 도구 사이를 전환할 필요 없이 실시간 코드 완성, 인터랙티브 채팅 인터페이스, 그리고 Emacs 내에서 자동 코드 리뷰와 커밋 메시지 생성을 제공합니다.

작동 방식

이 플러그인은 jsonrpc.el을 사용해 JSON-RPC를 통해 공식 GitHub Copilot 언어 서버와 통신합니다. 표준 LSP 클라이언트(e.g., eglot)를 우회하여 Copilot 프로토콜의 비표준 요소를 처리하고, 모든 버퍼와 프로젝트에서 단일 글로벌 서버를 유지합니다.

대상 사용자

GitHub Copilot 구독을 보유하고 있으며, AI 기반 코드 작성, 채팅 기반 리팩터링, 선호하는 에디터 내에서 자동 문서화를 원하는 Emacs 사용자.

주요 기능

  • 인라인 완성: 실시간 코드 제안을 위한 고스트 텍스트 제공.
  • 인터랙티브 채팅: 스트리밍 응답을 지원하는 전용 채팅 버퍼, 다중 줄 메시지 지원, 현재 버퍼와 동일한 컨텍스트 유지.
  • 에이전트 모드: Copilot이 쉘 명령어 실행, 파일 편집, 워크스페이스 검색(ripgrep를 통해) 등의 도구를 실행할 수 있도록 허용.
  • 원샷 작업: 코드 리뷰, 수정, 최적화, 문서화 및 단위 테스트 작성과 같은 빠른 명령어 제공.
  • 코드 리뷰: 네이티브 Copilot Code Review 통합으로, 커밋되지 않은 변경 사항이나 특정 영역에 대해 구조화된 피드백 제공.
  • 코드 기반 유틸리티: 스테이징된 변경 사항에서 커밋 메시지를 생성하고, 코드 재작성에 대한 차이점 스타일 미리보기 제공.
  • 세션 지속성: Emacs 재시작 후에도 채팅 기록을 저장하고 복원할 수 있음.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트