先日使えるようになったGitHub CopilotのChatとfor CLIが便利だった
今年、2023年2月にGitHub Copilot for Businessが正式提供されました。e2infoでも2月から使い始めていて、もう10ヶ月経ちます。
先日、GitHub Copilotの新機能が有効化できると聞いたので、設定をお願いしました。
実際に使ってみたところ、2つともいい感触だったので、今回はそのちょっとした使用例です。
GitHub Copilot Chat
通常のGitHub Copilotはコード補完が(と言うには結構ゼロから作ってくれますが…)基本的な機能です。GitHub Copilot Chatは、ChatGPTのように会話形式でAI支援を受けられます。たとえばVSCodeで新規ファイルを作ったとき「Bootstrapで氏名・住所・性別・生年月日を入力するフォームを作ってくれ」とプロンプトを入力すると、わりとちゃんと作ってくれます。
これだけでも便利ですが、GitHub Copilot Chatが最も便利なのは既存のコードをもとに会話できることなんじゃないかと思います。
コードを選択して右クリックして “Copilot > これを説明をする” などが選べます。良い例を準備できなかったのでここでは詳細を省きますが、チャット形式でコードについて説明してもらったり、修正案を考えてもらうことができます。
GitHub Copilot for CLI
思ったよりも便利だったのが、2つ目の “for CLI” の方です。GitHub CopilotはエディタやIDEで使うツールですが、シェル上でGitHub Copilotの支援を受けられるようになります。
使うにはGitHub CLIの準備が必要です。私はこのためにGitHub CLIを初めて導入しました。他の記事でも書いてますが、WindowsではUbuntu (WSL2)を使うのがおすすめです。
- GitHub CLIを導入する (https://github.com/cli/cli/blob/trunk/docs/install_linux.md)
gh auth login
で認証するgh extension install github/gh-copilot
でCopilot拡張を導入する
これでgh copilot suggest
を実行すると、次のように使えます。
ちゃんと動くだけでなく、trの置換だけでなくsedで末尾の縦棒を消すひと手間など、意外と気が利いたコマンドです。
これだけでも十分な気がしますが、”Revice command”で文句をつけることができます。今回はファイル名一覧にフォルダーを含めてほしくなかったので、そうお願いしてみると
find
を使って改善してくれました。
このくらいならLinuxのちょっとしたテクニック程度かもしれません。しかしGitHub Copilot for CLIは、もっと複雑で、覚えていられないコマンドにこそ役立ちます。AWS CLIがまさにそれです。
たとえば「EC2インスタンスのIPアドレスが知りたいなぁ、でもAWSマネジメントコンソールを開くの面倒だなぁ」と思ったときに…
動きました。AWS CLIはサブコマンドが大量にあるだけでなく、表示される情報を絞るためのqueryを書くのも大変なのですが、それを全部やってくれました。これはかなり便利です。
ちなみに、この画像で”ghcs”でGitHub Copilot for CLIを呼び出しているのは、.bashrcに次の行を追加したからです。
alias ghcs="gh copilot suggest -t shell"
使用頻度によっては、もっと短い文字やショートカットキーを設定してもよいかもしれません。より手軽にGitHub Copilot for CLIを使うことができるようになるので、おすすめです。
最後に
秋頃にあまり記事をかけなかったのでその分、12月の2つ目になりますがかさ増しとして記事書きました。GitHub Copilotが便利なのは知っていたつもりですが、AWS CLIと組み合わせたときの相性が想像以上でした。
これは日々の生活が便利になりそうです。