開発はvscodeを使って、プログラミングのことを質問したいときはchatgptにしてたんですが、そんなことをしなくても公式でちょうどいい拡張機能がありました。(リリースは今年の4月ぽい)
GitHub Copilot Chat
Visual Studio GitHub Copilot Chat
インストールは簡単。
GitHub Copilotの拡張機能をインストールした手順と同じで、GitHub Copilot Chatの拡張機能をインストールするだけです。
(認証とかはGitHub Copilotでしていれば不要でした)
チャット画面の表示
GitHubで紹介されているインストール手順では、インストール後に
アクティビティバーにGitHub Copilot Chatのアイコンが表示され、それをクリックすることでチャットを開始することができる、とあるのですが僕の環境でWindowsにインストールした時は表示されませんでした。
(MacbookProに入れたときは表示された)
後から表示できるかな~と思ってアクティビティバーに表示できる項目を確認してみたんですが、そちらにもなく。。。
とりあえずコマンドパレットから呼び出すことはできました(Ctrl + Shift + p)
「copilot chat」で検索すると色々と候補が表示されると思いますがとりあえず「チャット:エディターを開く」を押すとウィンドウが表示されます。
ざっくり使ってみた
chatgptのように質問をそのまま書いてもOKですが、コマンドもいくつかあるようです。
GitHub Copilot Chatのいいところは編集中のコードのカーソル位置のコードを自動で読み取って、それに対して改善案や、解説を行ってくれます。
(画像はこの記事のmarkdownを指定して /explain
してもらった例
下記よく使いそうなやつ。
/fix
選択したコードの改善案/new [動作の指示]
指定した動作をするコードの提案/test
選択したコードのユニットテストの提案
GitHub Copilot使ってる人はとっくに使ってたかもしれないけど
自分はわざわざChatgptに聞きに行っていたので、エディタで完結するのは非常にありがたい。
GitHub Copilot CLIもついでに紹介
これは出来ててホヤホヤかも。(GitHub公式Xで発表されたのが11/16)
Introducing GitHub Copilot in the CLI 🎉
Elevate your command-line experience. Get instant suggestions and explanations, learn new commands, and boost your productivity. Available now for Copilot license holders.
Learn more and get started today! ⬇️https://t.co/DlgnmY6frZ pic.twitter.com/RBHA1GCxGb
— GitHub (@github) November 17, 2023
下記の公式ドキュメントに全部書いてはあるけど、ざっくりインストール手順
- ghコマンドをインストール(MacOSXなら
brew
でWindowsならwinget
) - copilotの拡張機能をインストールする (
gh extension install github/gh-copilot
) - 使えるようになる
※パス通るのはシェルが再読み込みされてからなので一通りインストールできたらシェル再起動してね、的なことも書いてあった気がする
※ gh auth login
みたいなので認証するときにSSLだと成功はするんだけどgh copilot
でエラーになったりするのでgh auth login -web -h github.com
で認証するのがおすすめ。GitHub issueにも上がっていた。
GitHub Docs Using GitHub Copilot in the CLI
正直、ちゃんとシェルスクリプト書くときはCopilot Chat使うし、慣れていないOSにghコマンドが入ってるとは思えないので、僕個人はあんまり出番ないかな~とは思ってますが、find
とかgrep
のクエリど忘れした時とか、構成ファイルやら設定ファイルの場所忘れた時とかに気軽に質問できたら嬉しいかも?
とりあえずで入れておきました。
使い方もシンプルです。
gh copilot suggest "やりたい事ここに書く"
やりたい事を実現するためのコマンドの提案gh copilot explain "シェルコマンド"
シェルコマンドが何をしているかの説明
ただ、Copilot Chatや、拡張機能のCopilotとは違って英語のみです
指示を日本語で書くことはできましたが、レスポンスもコマンド内のテキストも全て英語です。
(まぁこれは慣れましょう)