The first GitHub Copilot, Codeium and ChatGPT Xcode Source Editor Extension
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 7 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 3 年前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 9 个月前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 3 年前 | ||
| 6 个月前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 |
Copilot for Xcode
![]()

Copilot for Xcode 是一款 Xcode 源代码编辑器扩展,为 Xcode 提供 GitHub Copilot、Codeium 和 ChatGPT 支持。
功能特点
- 代码建议
- 聊天交互
- 代码修改
- 自定义命令以扩展聊天和修改功能
目录
开发相关说明,请查看 Development.md。
更多信息,请查阅 Wiki 页面。
前提条件
- 公共网络连接。
对于建议功能:
- 对于 GitHub Copilot 用户:
- 已安装 Node 以运行 Copilot LSP。
- 有效的 GitHub Copilot 订阅。
- 对于 Codeium 用户:
- 有效的 Codeium 账户。
- 可访问其他 LLM。
对于聊天和提示生成代码功能:
- 有效的 OpenAI API 密钥。
- 可访问其他 LLM。
所需权限
- 文件夹访问权限
- 辅助功能 API 权限
如果您担心键盘记录问题且无法信任该二进制文件,建议您检查代码并自行构建。为解决任何疑虑,您可以在代码中专门搜索
CGEvent.tapCreate、AXObserver、AX___。
安装与设置
安装过程略显复杂。以下是简要概述:
- 将应用程序安装到“应用程序”文件夹中,并打开一次。
- 启用源代码编辑器扩展。
- 向扩展应用程序授予辅助功能 API 权限。
- 在宿主应用中设置账户和模型。
- (可选)在宿主应用中更新各项功能的设置,并配置键盘快捷键。
安装
您可以通过 Homebrew 进行安装:
brew install --cask copilot-for-xcode
或者您也可以手动安装,从最新的发布版本下载 Copilot for Xcode.app。
请确保应用程序位于“应用程序”文件夹内。
打开应用,它将创建一个启动代理,以设置一个在后台运行的服务来执行实际工作。
启用扩展
在 系统设置.app 中启用该扩展。
macOS 15
点击屏幕左上角的苹果菜单,选择 系统设置。导航至 通用,然后选择 登录项与扩展。点击 Xcode 源代码编辑器,并勾选 Copilot for Xcode。
macOS 14
点击屏幕左上角的苹果菜单,选择 系统设置。导航至 隐私与安全性,然后在靠近底部的位置点击 扩展。点击 Xcode 源代码编辑器,并勾选 Copilot。
旧版本系统
如果您使用的是 macOS Monterey,请通过其专用图标进入 系统偏好设置.app 中的 扩展 菜单。
为应用授予权限
首次打开应用并运行命令时,扩展将请求必要的权限。
或者,您也可以通过导航至 系统设置.app 中的 隐私与安全性 标签页来手动授予所需权限。
- 要授予对辅助功能 API 的权限,请点击
辅助功能,然后将CopilotForXcodeExtensionService.app拖到列表中。您可以通过在宿主应用中点击在 Finder 中显示扩展应用来找到该扩展应用。

如果您遇到之前已授予过权限但仍弹出请求权限的提示,请从列表中移除该权限,然后重新添加以再次授予必要的权限。
设置键盘快捷键
如果您使用键盘快捷键,扩展的使用体验会更好。
目前似乎无法为命令添加默认键盘快捷键,但您可以在 Xcode 设置 > 键盘快捷键 中进行设置。您可以在搜索栏中输入 copilot 来筛选列表。
一个推荐的设置方案应该不会引起冲突:
| 命令 | 键盘快捷键 |
|---|---|
| 接受建议 | ⌥} 或 Tab |
| 关闭建议 | Esc |
| 拒绝建议 | ⌥{ |
| 下一个建议 | ⌥> |
| 上一个建议 | ⌥< |
| 打开聊天 | ⌥" |
| 解释所选内容 | ⌥| |
本质上是使用 ⌥⇧ 作为所有快捷键的“访问”组合键。
另一种便捷访问命令的方法是使用 ⇧⌘/ 快捷键在菜单栏中搜索命令。
设置全局热键
目前,您只能在宿主应用的“通用”标签页下设置一个全局热键来显示/隐藏小部件。
当此热键未设置为全局启用时,它仅在服务应用或 Xcode 处于活动状态时才有效。
设置建议功能
设置 GitHub Copilot
-
在主应用中,导航至“服务 - GitHub Copilot”以访问您的 GitHub Copilot 账户设置。
-
点击“安装”以安装语言服务器。
-
(可选)设置 Node 的路径。默认值为
node。Copilot for Xcode.app 将尝试从以下目录定位 Node:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin。如果您的 Node 安装在其他位置,可以在终端中运行
which node以获取正确路径。如果您使用的 Node 版本管理器提供了 shim 可执行文件,则需要找到实际可执行文件的路径。有关更多信息,请参阅常见问题解答(FAQ)。
-
点击“登录”,您将被重定向到 GitHub 提供的验证网站。一个用户代码将复制到您的剪贴板。
-
登录后,返回应用并点击“确认登录”以完成流程。
-
前往“功能 - 建议”,将功能提供商更新为“GitHub Copilot”。
已安装的语言服务器位于 ~/Library/Application Support/com.intii.CopilotForXcode/GitHub Copilot/executable/。
设置 Codeium
- 在主应用中,导航至“服务 - Codeium”以访问 Codeium 账户设置。
- 点击“安装”以安装语言服务器。
- 点击“登录”,您将被重定向到 codeium.com。登录后,将提供一个令牌。您需要将此令牌复制并粘贴回应用以完成登录过程。
- 前往“功能 - 建议”,将功能提供商更新为“Codeium”。
密钥存储在钥匙串中。当辅助应用首次尝试访问密钥时,会提示您输入密码以访问钥匙串。请选择“始终允许”以让辅助应用访问密钥。
已安装的语言服务器位于 ~/Library/Application Support/com.intii.CopilotForXcode/Codeium/executable/。
聊天功能设置
- 在主应用中,导航至“服务 - 聊天模型”。
- 更新 OpenAI 模型,必要时可创建新模型。使用测试按钮验证模型。
- (可选)在“服务 - 嵌入模型”中设置嵌入模型,这是部分聊天功能所必需的。
- 前往“功能 - 聊天”,将聊天/嵌入功能提供程序更新为你刚刚更新/创建的提供程序。
管理 CopilotForXcodeExtensionService.app
当你打开 Copilot for Xcode.app 或 Xcode.app 时,此应用会自动运行。你可以通过菜单栏中形似触手的图标退出它。
你也可以将其设置为在上述两个应用关闭时自动退出。
更新
你可以使用应用内更新器,或从最新的 release 手动下载最新版本。
更新后,请打开一次 Copilot for Xcode.app 并重启 Xcode,以使扩展重新加载。
如果你发现某些功能无法正常工作,请先尝试重新授予应用权限。
功能
gitignore 中的文件不会收到建议。聊天和代码提示功能均无法访问这些文件,除非你手动从其中选择代码。
代码建议
该应用可以根据你已打开的文件提供实时代码建议。此功能由 GitHub Copilot 和 Codeium 提供支持。
该功能提供两种展示模式:
- 文本光标附近:此模式根据文本光标的位置显示建议。
- 悬浮窗口:此模式在指示器窗口旁显示建议。
使用“文本光标附近”模式时,建议将实时建议防抖时间设置为 0.1。
如果你在处理公司项目,不希望触发建议功能,可以全局禁用它,并选择仅为特定项目启用。
每当你的代码更新时,应用会自动为你获取建议,你可以按 Escape 键取消。
*:如果在辅助应用启动前已有文件打开,你需要切换到这些文件以发送文件打开通知。
命令
- 获取建议:在当前光标位置为正在编辑的文件获取建议。
- 下一条建议:如果有多个建议,切换到下一条。
- 上一条建议:如果有多个建议,切换到上一条。
- 接受建议:将建议添加到代码中。
- 拒绝建议:移除建议注释。
应用调用的命令:
- 准备实时建议:仅由 Copilot for Xcode 调用。成功获取建议后,Copilot for Xcode 将运行此命令以展示建议。
- 预获取建议:仅由 Copilot for Xcode 调用。Copilot for Xcode 会在后台偶尔运行此命令以预获取实时建议。
聊天
此功能由 ChatGPT 提供支持。使用前请确保已注册并设置好 OpenAI 账户。
聊天功能可获取以下信息:
- 当前编辑器中选中的代码
- 文件的相对路径
- 当前编辑器中的错误和警告标签
- 文本光标位置
聊天面板目前包含两个标签页:一个可在 Xcode 中全局共享,另一个仅在当前文件中可用。
只需将聊天面板拖离即可使其独立显示。独立后,即使 Xcode 处于非活跃状态,聊天面板仍会保持可见。若要将其重新附加到小组件,点击指示器小组件旁的消息气泡按钮即可。
命令
- 打开聊天:打开一个聊天标签页。
键盘快捷键
| 快捷键 | 描述 |
|---|---|
⌘W |
关闭聊天标签页。 |
⌘M |
最小化聊天面板,可通过任何聊天命令或点击指示器小组件将其恢复显示。 |
⇧↩︎ |
添加新行。 |
⇧⌘] |
切换到下一个标签页 |
⇧⌘[ |
切换到上一个标签页 |
聊天命令
聊天面板支持可能无需 OpenAI API 密钥的聊天插件。例如,若需使用 /shell 插件,只需输入
/run echo hello
若需结束插件,只需输入
/exit
| 命令 | 描述 |
|---|---|
/shell |
在项目根目录下运行命令。 |
| 环境变量: - PROJECT_ROOT:获取项目根目录。- FILE_PATH:获取当前编辑文件的路径。 |
|
/shortcut(name) |
运行“快捷指令”应用中的指定快捷指令,并将后续消息作为输入。 |
| 若消息为空,则使用上一条消息作为输入。快捷指令的输出结果将作为机器人的回复内容显示。 |
提示生成代码
通过自然语言重构现有代码或编写新代码。
当您需要更新特定代码片段时,推荐使用此功能。一些示例使用场景包括:
- 提升代码的可读性。
- 修复代码中的错误。
- 为代码添加文档注释。
- 将大型函数拆分为更小的函数。
- 通过自定义命令使用特定模板生成代码。
- 润色和修正文档中的语法及拼写错误。
- 翻译本地化字符串文件。
命令
- 编写或编辑代码:打开修改窗口,您可以使用自然语言编写或编辑选中的代码。
- 接受修改:确认并应用修改结果。
自定义命令
您可以创建自定义命令,结合个性化提示词运行聊天和修改功能。这些命令可从 Xcode 菜单栏和指示器小部件的上下文菜单中便捷访问。自定义命令分为 3 种类型:
- 修改:使用选中的代码运行修改功能,如果提供了提示词,将根据提示词更新或编写代码。您可以通过“额外系统提示”字段提供附加信息。
- 发送消息:打开聊天窗口,并立即发送提供的消息(如果有)。您可以通过“额外系统提示”字段提供更多信息。
- 自定义聊天:打开聊天窗口,并立即发送提供的消息(如果有)。您可以通过“系统提示”字段覆盖整个系统提示。
- 单轮对话:向临时聊天发送消息。当您想要使用
/run运行终端命令时非常有用。
您可以在自定义命令中使用以下模板参数:
| 参数 | 描述 |
|---|---|
{{selected_code}} |
编辑器中当前选中的代码。 |
{{active_editor_language}} |
当前活动编辑器的编程语言。 |
{{active_editor_file_url}} |
当前活动编辑器中文件的 URL。 |
{{active_editor_file_name}} |
当前活动编辑器中文件的名称。 |
{{clipboard}} |
剪贴板中的内容。 |
局限性
- 本扩展通过多种技巧来监控 Xcode 的状态。它可能会失效,也可能出现错误,尤其是当您运行多个 Xcode 窗口时,若这些窗口处于不同显示器上,情况可能会更糟。不过,我对此并不确定。
许可证
详情请查看 LICENSE。
项目介绍
失踪的GitHub Copilot、Codeium及ChatGPT Xcode源代码编辑器扩展【此简介由AI生成】
