GitHub Copilot
Microsoft が2021年6月に発表した人工知能 (AI) ペアプログラミング「GitHub Copilot」のプレビュー版が利用できるようになったので、早速 IntelliJ 製品で利用してみました。 https://copilot.github.com/ 今回はその利用方法とその効果について紹介したいと思います。IDE に GitHub Copilot プラグインをインストール
IntelliJ 製品であれば同じように利用できますが、今回は PyCharm で手順を説明します。プロジェクトを開いた状態で、File > Settings から設定画面を開きます( Mac の場合は、 PyCharm > Preferences )。そして Plugins の Marketplace から「 copilot 」と検索し、「 GitHub Copilot 」の「 Install 」ボタンを押下します。

「サードパーティのプラグインを使用するには、プラグインベンダーが個人データを処理する必要がある場合があります。
個人データ処理の詳細については、プラグインベンダーのドキュメントを確認してください。
JetBrainsは、サードパーティのプラグインベンダーによる個人データの処理について責任を負いません。」
とのことです。


GitHub Copilot の順番待ちリスト
プラグインのインストールが完了すると、GitHub へのサインインを促されます。その様子は Event Log で確認することができます。





GitHub Copilot の効果
私は最初 GitHub Copilot の効果に疑心暗鬼でした。しかし、ソースコードを入力し始めると、かなりすごい便利な機能であることに感動しました。例えば、 Python で数値配列からその平均を取得しようとした場合、「 def ave 」と入力します。すると、次のように残りのコードが候補として表示されます。グレーの文字が全て候補として挙げられている内容になります。候補が表示されている状態で、タブキーを押下するとそれが適用されます。この例では 2 行程度の短い候補ですが、ソースコードが多く書かれたプロジェクトがあるときには、5, 6 行の候補が表示されることもあり、かなり爽快です。「なぜこれから書こうと思っていたものが判ったのか?」と思うこともよくあります。
