🤖

Copilot を Xcode に導入

に公開

まずはGitHub公式を見る

https://github.com/github/CopilotForXcode

基本的に、VSCode使う時みたいに、Editor → GithubCopilot でチャットを表示でき(使用できる)たり、コード補完のサジェッションが効いたり、エージェント的にコードを自動で書いてくれる?的なことができそう。

なんか、Xcodeの組み込みにもそんな AI 補完があった気がするけど、ちょっと後で比較してみるか。

入れる

brew install --cask github-copilot-for-xcode

ちなみに「cask(キャスク)」は、GUIアプリケーション(.app/.dmg/.pkg)のインストールとして処理するように指示を出すオプション。指定しない場合は、Formula(フォーミュラ)として、ライブらいやソースビルドなんかのためにインストールが実行するので、インストール先は /usr/local とかになる。

そんでもって、アプリフォルダーから開く。

諸々出る許可を色々と許可する。

Github Copilot for Xcode を正く機能させるには、下の三つの権限が必要そうなのでね。面倒くさがらずに、許可してあげよう。

  • Background(バックググラウンド実行)
  • Accesibility(アクセシビリティ)
  • Xcode Source Editor Extension

Xcode Source Editor Extension っていうのは、Xcode にはない機能を、macOSの「App Extension」機能を使って使うことができる、エディタの拡張機能です!

ちなみに、上記は手動で許可してあげる必要があるらしいので、まずは指示に従って、Copilot で GitHub にサインイン。そして、Copilot アプリに移動して、Xcode Source Editor Extension を許可してあげる。これはシステム設定から許可する感じかな。一般 → 機能拡張 → Xcode Source Editor Extension

そんで、Xcode から Editor をみると、Copilot が追加されている!

そんでもって、Copilot For Xcode のアップデートなんかがあるときは、Copilot のアプリ側の設定で、「Check for Updates」をクリックすると、更新できるっぽい。とりあえず、自動で更新するチェックがデフォルトでついてるから、特段まめに確認する必要はなさそう。

ここまで、Xcode 開きっぱで作業してた人は、一旦アプリ閉じてからまた開くのが良さそう。

地味に大事!
そんでもって、Xcode16 で標準搭載された機械学習によるコードサジェッション(Predictive Code Completion)と、Copilotの提案が競合して何が何だかわからんことになるのを防ぐために、Xcode の設定で Predictive Code Completion をオフにしておく。

まあ、Apple も頑張ってるから、Copilot より優秀そうだったら、またオンにしてあげようかな。

軽く使ってみる

なんか補完が効いているけど、これはただのXcodeの保管機能か?

Copilot の時にはこんな感じに出るっぽい。

はい、イニシャライズしろ!っていう念願のエラーが出ました。

Editor → Copilot → Open Chat で解決策を探ります。

はい。優しい世界が訪れました。

そして、テキスト入力フィールドの横に Ask / Agent ってタブがあって、これを Agent に切り替えると、その名の通り、指示に応じてコードを勝手になおしてくれる。

私のいらない世界は、もうすぐ目の前!君はCopilot(副操縦士)なんかじゃなくて、Captainだ!

余談

「Github Copilot のキャラクターができるまで」っていう GitHub デザインチームのスライドが面白かったので、貼っておきます。GitHubのあのタコ猫は「モナリサ」って名前だったんだね。早くCopilot 君も名前がつくといいな。一生現場にいてほしいという意味も込めて、「マーヴェリック」ってどうでしょう。トムクルーズじゃちょっとカッコ良すぎるか〜。

https://assets.ctfassets.net/wfutmusr1t3h/1Iw9blbbtMLAjYLnibOtEE/11339090d13c92c06dbf01cb4e99f03b/__Universe24RecapTokyo________.pdf

Discussion