『IntelliJ IDEA』で『GitHub Copilot Chat』 の導入を試す

## はじめに
ココネでサーバーエンジニアをやっているsです。よろしくお願い致します。
@takokurageさんからバトンを受け取り、アドベントカレンダー23回目の記事になります。
今回は「GitHub Copilot Chat」について、2023年11月にJetBrains系のIDEに対応された発表もあり、念願だった「intelliJ IDEA」で「GitHub Copilot Chat」が使えるか試したいと思います。

## 「GitHub Copilot Chat」の機能と魅力について
早る気持ちを抑え、まずはChatGPTに「GitHub Copilot Chat」にどのような機能と魅力があるのか質問をしてみました。


>＞GitHub Copilot Chatの機能と魅力を教えて
>
>GitHub Copilot Chatは、コーディングに関する質問に対する回答を提供するAIチャットボットです。以下は、GitHub Copilot Chatの主な機能です。
>
>1.コードの提案:
Copilot Chatは、コードの提案を行うことができます。
例えば、ある特定の関数についての質問をすると、その関数の実装例を提案してくれます。
2.コードの機能と目的の自然言語の説明の提供:
Copilot Chatは、コードの機能や目的についての自然言語の説明を提供することができます。
例えば、ある関数が何を行っているかを尋ねると、その関数の機能や目的について説明してくれます。
3.コードの単体テストの生成:
Copilot Chatは、コードの単体テストを生成することができます。
例えば、ある関数についての質問をすると、その関数の単体テストを生成してくれます。
4.コード修正の提案:
Copilot Chatは、コードの修正を提案することができます。
例えば、あるコードについての質問をすると、そのコードの修正を提案してくれます。
5.コーディングの質問に対する回答:
Copilot Chatは、コーディングに関する質問に対する回答を提供することができます。
例えば、あるコーディングについての質問をすると、そのコーディングに関する回答を提供してくれます。
>
>以上が、GitHub Copilot Chatの主な機能です。
GitHub Copilot Chatは、コーディングに関する質問に対する回答を提供することができるため、
コーディングに関する疑問や問題を解決するのに役立ちます。
また、コードの提案や修正の提案など、コーディングの効率化にも貢献します。

と言うことで、「GitHub Copilot Chat」はCopilotが収集した知識をもとに対話形式でコーディングをサポートするAIボットということです。
ChatGPTなどと同様で、やりたい事を文章で伝えるコツが必要になりそうですが、対話次第で色々なことが出来そうです。

## 導入
**1. GitHub Copilot Chatの使用を有効にする**
自身の組織で「GitHub Copilot Chat」が有効になっているか確認します。
 1. GitHub.com の右上隅にあるプロファイル写真を選択し、[Copilot]を開く
 2. Features欄の「Copilot Chat in the IDE」のステータスが「Enabled」になっていることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622242/dce3a202-c1ad-39d0-e855-45e7caae3320.png)

**2.「intelliJ IDEA」に「GitHub Copilot」プラグインをインストールする**
「intelliJ IDEA」を起動し、プラグインから検索欄に「GitHub Copilot」と入力し、検索結果に表示された「GitHub Copilot」のインストールボタンから導入する。
インストールが完了したらIDEを再起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622242/9d3dc7b6-2033-96c0-f98d-9dd49605257e.png)

**3.GitHubにログインする**
再起動完了後、「Tool」から「GitHub Copilot」→「Login to GitHub」を押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622242/62c82eaf-5c17-f085-37bb-584ce0e92410.png)
ポップアップ画面に表示された「Copy and Open」ボタンを押下するとブラウザーの認証画面が表示されます。
![スクリーンショット 2023-12-21 12.59.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622242/7719621a-1d8e-8da1-78f9-edbc8187d48d.png)
表示されたブラウザーにコピーしたDevice codeを入力するとCopilotプラグインを有効にするか聞かれるので承認すると導入完了です！

## 問題発生
導入も完了したので、早速Copilotさんと対話してみようとしたところ、こんな画面が表示され。。。アレ？。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622242/bb647a92-c622-8733-c9d1-9f2f0dfc39e1.png)

画面にも書いてありますが、リファレンスによると
>Copilot Individual サブスクリプション対象者がJetBrains IDE で GitHub Copilot Chat を使用する場合は、待機リストに参加できます。 ベータプログラムに同意されると、電子メールで通知されます。 待機リストに参加しても、ベータ版へのアクセスが保証されるわけではありません。
Copilot Business サブスクリプションを持つ請求書対象の組織またはエンタープライズのオーナーであり、JetBrains IDE で GitHub Copilot Chat のベータ版に参加したい場合は、アカウント マネージャーまたはソリューション エンジニアに連絡してアクセスを要求できます。 アカウント マネージャーが存在しない無料プラン、チーム プラン、またはセルフサービスの Enterprise プランのお客様は、現時点ではプライベート ベータの対象ではありません。

ということで当然「Copilot Business サブスクリプション」なので「Join Chat in JetBrains Waitlist」ボタンを押下しても以下の画面が表示されるだけで、待機リストにも入れない様子。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622242/c5eccf10-5492-9d1c-c7e1-7533ffb30272.png)
設定は特に問題なさそうにみえるので、マネージャーの許可が必要なのかと思い連絡をしましたが、
結論から言うと`エンタープライズオーナーである必要がありそう`とのことでした。
残念。。。

## 終わりに
結局今回「IntelliJ IDEA」で「GitHub Copilot Chat」を使用することはできませんでした。
待機リストにも入れないので今後のアップデートに期待するしかなさそうです。
アップデートされたら再チャレンジしたいと思います。
また「Visual Studio Code」では制約なく使用できるので当面はvscodeの「GitHub Copilot Chat」を利用することをオススメします。

明日は[@panicdragon](https://qiita.com/panicdragon)さんの記事になります。
引き続き[Cocone Advent Calendar 2023](https://qiita.com/advent-calendar/2023/cocone)をよろしくお願い致します。

## 参考

https://docs.github.com/ja/enterprise-cloud@latest/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide?tool=jetbrains