LoginSignup
6
8

【Xcode】XcodeにGithub Copilotを導入する方法と注意点まとめ

Posted at

はじめに

皆さんはGithub Copilotはご存知でしょうか?

Github Copilotはコーディング中にAIがコードの提案をしてくれる機能で、
プログラマーが記載したコメントや関数などから、AIが最適なコードを推測し提案してくれます。
プログラマーはその提案を採用し、作成中のプログラムに反映させることが可能です。

既に導入済みの企業などもたくさん出てきているようです。

利用環境

現在はJetBrains IDEの開発環境やVSCodeが公式でサポートされています。
ただ、Xcodeは公式のサポートには含まれていませんが、CopilotForXcodeを利用することで、XcodeでもGithub Copilotが利用できるようになります。

今回はXcodeへの導入と、導入時の注意点についてまとめていきます。

まずはGithub Copilotに登録

前提

  • Githubのアカウント作成済み
    • OrganizationでGithub Copilotを導入予定の方は管理者権限が付与されていること
  • Xcodeをインストール済み
  • お金に余裕がある

サブスクリプションの登録

サブスクリプションの種類

Github Copilotには個人用(Individuals)組織用(Business) があります。
主な違いは月額利用料と、ポリシー管理の有無、ライセンス付与の管理ができる点です。
個人用ではCopilotにコードをシェアすることは可能なオプションもありますが、
Businessライセンス(組織用)を使っていれば、誤ってCopilotにコードをシェアしてしまうということを防ぐことも可能です。

ちなみに個人用は30日間のトライアル期間が存在します(はるか昔は60日間もあったらしい)。
詳細な違いについては以下からご確認ください。

登録方法

今回は 組織用(Business) の登録で見ていきます。
Githubにログインしていただき、右のサイドバーからCopilotをクリックすると以下の画面へ遷移します。
screencapture-github-github-copilot-signup-2023-10-03-23_03_56.png
画像の赤枠の部分から組織用の登録画面へ遷移していただき、住所やクレジットカードの登録を行いましょう。
組織用の場合は組織単位での支払いではなく、組織で付与されている人数✖️19ドル/月になるので注意しましょう。

サジェストされるコードの設定

支払い情報などの設定が終わると、サジェストされるコードの設定画面へ遷移されます。
これはサジェストされようとしているコードが、公開されているリポジトリに含まれるコードとほぼ一致するかどうかを検出し、検出された場合はサジェストしないようにできるもので、
Copilotがサジェストするコードにライセンスをクリアしていないコードが含まれるリスクを減らすためのオプションになります。
ここはBlockedにしておくのが安全かと思われます。
スクリーンショット 2023-09-28 18.29.00.png

こちらについては以下の記事が参考になりました。

シートの割り当て管理

サジェストの設定が完了すると、Copilotを誰に導入するかを設定する画面へ遷移します。
スクリーンショット 2023-09-28 18.31.58.png
私の会社では一部のメンバーのみに付与したかったので、Purchase for selected teams/usersを選択し、Add seatsでチーム単位での付与、組織のメンバー個人への付与をこの画面で設定しました。
ここで追加されたメンバーの数だけ毎月請求が発生することになります💸
もちろん設定後に追加/削除も可能です。

これで設定は完了で、付与されたメンバーにはメールが届きます。

Xcodeへの導入方法

以下の記事を参考に導入することができました。

最後に

Github Copilotは社内での評価も高く、自分が書こうと思っていたコードをサジェストしてくれるおかげで、かなり楽にコーディングすることが可能になり、特に自分が知らなかった記法を提案してくれるのが非常に良いと感じました。
ただ意図しないコードがサジェストされることもたくさんありますし、サジェストされるコードを理解しないまま使ってしまうのは良くないので、あくまで副操縦士として今後は付き合っていくのが良さそうです。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8