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 客户端(如 eglot),以处理 Copilot 协议的非标准元素,并在所有缓冲区和项目中维护单一全局服务器。

适用人群

拥有 GitHub Copilot 订阅且希望在首选编辑器中实现 AI 辅助编码、基于聊天的重构以及自动化文档生成的 Emacs 用户。

主要亮点

  • 内联补全:提供实时代码建议的幽灵文本。
  • 交互式聊天:专用聊天缓冲区支持流式响应、多行消息,并与当前缓冲区共享相同上下文。
  • 代理模式:允许 Copilot 执行工具,如 shell 命令、文件编辑和工作区搜索(通过 ripgrep)。
  • 一次性任务:快速命令用于审查、修复、优化和文档化代码,以及编写单元测试。
  • 代码审查:集成原生 Copilot Code Review,对未提交的更改或特定区域提供结构化反馈。
  • 基于代码的实用工具:从暂存更改生成提交信息,并提供代码重写差异风格预览。
  • 会话持久化:可在 Emacs 重启后保存和恢复聊天历史记录。

相关

  • 项目
  • 项目
  • 项目
  • 项目