
1. 前言
GitHub 推出了一个强大的 AI 代码工具 Copilot(副驾驶),它能提供很好的代码建议,大大加快编程的开发速度。
Copilot 支持许多编程语言,包括 Swift,并可以在IDE上安装相应的扩展插件,方便地在 IDE 上使用 Copilot。
2. CopilotForXcode
官方提到的 IDE 扩展并不包括 Xcode,令人高兴的是,Shx Guo 开发了 CopilotForXcode。
只要安装 CopilotForXcode,然后再进行一些设置,就能在 Xcode 中使用 Copilot 了。
https://github.com/intitni/CopilotForXcode
3. 如何使用
接下来将一步步演示如何请 Copilo t在 Xcode 中帮忙写代码,和 Copilot 一起愉快地进行配对编程写 App:
- 申请 GitHub Copilot 账户
- 安装 Node
- 安装和设置 Copilot for Xcode
- 将 Copilot 加入 Xcode Source Editor 的扩展
- 同意 Copilot for Xcode 所需的权限
- 在 Xcode 中使用 Copilot 帮助编写代码
- 配置 Codeium、OpenAI、Azure OpenAI
3.1 申请 GitHub Copilot 账户
进入 GitHub Copilot 网站。
https://github.com/features/copilot
选择 Get started with Copliot。

选择 Start a free trial。

选择 Get Access to GitHub Copilot ,每个人有30天免费试用期,30天 过后每个月费用为 10 美金/月。
你可以在 30 天到期前随时取消订阅,以免被意外扣费。

进入资料填写页面

绑定支付信息,信用卡(信用卡需支持外币)或 PayPal,点击 Save payment infomation 进行保存。

支付信息绑定成功后,选择 Allow,然后点击 Save and get started。

然后就可以开始使用 Copilot 功能了。

3.2 安装 Node
⚠️ ⚠️⚠️ 有 Node 环境的可以跳过这一步 ⚠️⚠️⚠️
为了能使用 Copilot for Xcode,我们必须先安裝 Node。

下载对应 pkg 文件安装


3.3 安装和设置 Copilot for Xcode
下载 Copilot for Xcode 的安装包(注意:不是源码)。

将 Copilot for Xcode 移动到 Applications。

启动 Copilot for Xcode,点击 Set Up Launch Agent for XPC Service。

然后点击 Refresh 更新版本状态。

点击 Sign in 登录 GitHub 账号,点击后将打开 GitHub 的认证网页。

这个时候 user code 会自动复制到剪切板。

在认证网页 cmd + v 复制刚才的 user code,点击 Continue。

点击 Authorize GitHub Copilot Plugin。

连接成功。

回到 Copilot for Xcode,点击 Confirm Sign-in。

完成 Copilot 的设置,Status 显示 OK。

3.4 将 Copilot 加入 Xcode Source Editor 的扩展
我们必须将 Copilot 设置为 Xcode Source Editor 的扩展,之后才能在 Xcode 使用 Copilot 的相关功能。
打开 Settings App,进入 Extensions > Xcode Source Editor。

勾选 Copilot。

3.5 同意 Copilot for Xcode 所需的权限
为了让 Copilot 能在 Xcode 帮我们编程,我们还需要同意一些相关权限。
重新启动 Xcode 后,在菜单的 Editor > Copilot 可找到 Copilot 的相关命令,比方点击 Get Suggestions 可请 Copilot 给我们代码建议。

请先点击 Get Suggestions,让它出现权限不足的相关错误。比方下图显示无法访问 Accessibility API。

打开 Settings App,勾选 Privacy & Security > Accessibility 的 Copilot for Xcode。

回到 Xcode,再次点击 Get Suggestions,然后同意 Copilot for Xcode 控制 Xcode 和访问桌面文件夹。


3.6 在 Xcode 中使用 Copilot 帮助编写代码
经历了千辛万苦,现在我们终于能在 Xcode 使用 Copilot 编程了。通常我们会通过两种方法请 Copilot 帮忙。
- 输入注释说明需求,然后请 Copilot 帮忙。
- 输入部分代码,请 Copilot 完成剩下的代码。
以下我们以实际的例子说明。
3.6.1 定义 array
3.6.1.1 方法1:输入注释
1 | /// 定义十二星座的 array |
将光标移到注释的下一行,然后点击 Xcode 菜单的 Editor > Copilot > Get Suggestions。
Copilot 将十二星座的数组写在以下注释:
1 | // 定义十二星座的 array |
如果觉得 Copilot 的建议很好,请再点击 Xcode 菜单的 Editor > Copilot > Accept Suggestion,Copilot 将输入刚刚建议的代码:
1 | // 定义十二星座的 array |
3.6.1.2 方法2:输入部分代码
1 | let zodiacs = |
点击 Get Suggestions,Copilot 自动将十二星座的数组写在以下注释:
1 | /*========== Copilot Suggestion 1/1 |
点击 Accept Suggestion,Copilot 输入刚刚建议的代码:
1 | let zodiacs = ["白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座", "水瓶座", "双鱼座"] |
3.6.2 定义 function
3.6.2.1 方法1:输入注释
1 | // 检查是否为正确的 email 格式 |
将光标移到注释的下一行,然后点击 Get Suggestions,Copilot 将 email 格式检查的 function 写在以下注释。
1 | /*========== Copilot Suggestion 1/2 |
点击 Accept Suggestion,Copilot 输入刚刚建议的代码:
1 | func isValidEmail(_ email: String) -> Bool { |
3.6.2.2 方法2:输入部分代码
输入
1 | func isValidEmail |
或
1 | func isValidEmail(_ email: String) -> Bool { } |
输入 func isValidEmail
后点击 Get Suggestions,Copilot 将 email 格式检查的 function 写在以下注释:
1 | /*========== Copilot Suggestion 1/1 |
点击 Accept Suggestion,Copilot 输入刚刚建议的代码:
1 | func isValidEmail(_ email: String) -> Bool { |
3.7 配置 Codeium、OpenAI、Azure OpenAI
Codeium、OpenAI 和 Azure OpenAI 的配置都相似,只要填入对应的 API Key 即可
具体说明参考:
https://github.com/intitni/CopilotForXcode/wiki/Frequently-Asked-Questions#codeium

4. 结论
优点:
- 安装难度较低,配置简单,对环境要求低。
- 从示例可以看出,效果还是比较不错的,对开发效率的提升较为明显。
- Github 账号直接捆绑,无需额外注册内容。
- 对 Swift 支持力度较好。
- 与 ChatGPT 相比的优势是响应速度更快,对编程来讲更智能。
- 除了 Github Copilot 以外,还支持 Codeium、OpenAI 和 Azure OpenAI 等 AI 辅助工具。
缺点:
- 需要付费,且账号不共享,成本估算为 N * 10USD / 月。
- 鉴于过往插件的经验,Xcode 长时间使用的可能存在影响 IDE 响应速度的性能问题。
- 根据作者描述,SwiftUI 预览版本对 Objective-C 的支持可能存在部分问题。