Open6
Github Copilot 使ってみる
メモ
- なんか一回使おうとしたときうまくいかなかったのは、GitHub Copilot と GitHub Copilot Chat の 2 プラグインを導入する必要あるのに、中途半端に前者しか入ってなかったせい (?) みたいで、あとで改めて触ってみたら普通に動いた
- GitHub Copilot Voice というのも試してみたい
- 選択範囲を Copilot に処理させようとしたけどうまくいかなかった
- 「空行ではない行かつ次の行が空行ではない行の末尾に2つの半角スペースをつけて」
- "Oops, response got filtered. Please rephrase your prompt." となった
- 英語のラップのリリックを変換させようとしたので、Explicit な言葉が引っかかったとかだろうか
- そんなに激しい感じのリリックではないやつだが…
VSCode ではじめる GitHub Copilot 活用術 #VSCode - Qiita を読む。
- 最初にほしいプログラムの概要を書いて、Tab + Enter でひたすら書かせていく例
- どこが終わりかを認識することはできるのかな
-
cap = cv2.VideoCapture(0)だと AV -> HDMI -> USB 入力してる VHS 映像のほうが認識されて、真っ黒になってしまったので、cap = cv2.VideoCapture(1)としたら外付けカメラの映像を拾ってくれた - 画像の左右反転、コメントで途中に入れたい処理を追加する例
- なんか Command + Shift + I でインラインチャットうまく起動しないな
- と思ったら、Command + I でインラインチャット、Command + Shift + I で全体のチャットを開くみたいだ
- テストを別ファイルで作りたいときはどうすればいいんだろ
- 最初 .md ファイルで作動しなかったけど、拡張機能の設定で markdown=true にしたら動いた
GitHub Copilot のドキュメント - GitHub Docs を読む。
- このページできることが一通りまとまってる
-
GitHub Copilot の概要 - GitHub Docs
- 最初の候補を表示する
- 代替候補を表示する (Option + [])
- 候補を部分的に受け入れる (Command + ->)
- 新しいタブに複数の候補を表示する (Ctrl + Enter)
- フレームワークの使用
- express とか flask のコード書けるよ、っていうことなのかな
- GitHub Copilot の有効化または無効化
-
GitHub Copilot の概要 - GitHub Docs
-
GitHub Copilot の候補に一致するパブリック コードの検索 - GitHub Docs
- 似たような OSS の処理を見つけてくれるっぽい
-
IDE での GitHub Copilot チャットの使用 - GitHub Docs
- 右メニューにアイコンが追加されてなんでも質問できるようになる
-
/でいろんなコマンド発行できるっぽい - いま開いてるファイルについて右メニューのチャットで質問するにはどうすればいいのかな
- 生成してもらったコードについてはコピーするかその場で生成するか選べる
-
CLI での GitHub Copilot の使用 - GitHub Docs
- CLI も存在するみたいだけど、いったんはいいかな
GitHub Copilot導入後、初めて使う時。(豊富な使用例付き) #githubcopilot - Qiita を読む。
- 情報が古くてコマンドパレットとかいま使えない機能多いが、やれることは参考にできそう
-
ある特定の場所(カーソルの場所)で提案を始めたい時インライン候補をトリガーする Alt +/これうまく動かなかった - 型をつける機能はいまはないように思う
人に説明する用のレジュメ
- GitHub Copilot
- テキストエリア内で補完してくれるやつ
- 機能一覧 (GitHub Copilot の概要 - GitHub Docs 参照)
- 候補の表示 (自動で表示された候補を Tab で採用、ESC で不採用)
- 代替候補の表示 (Option + [])
- 候補を単語ごとに適用 (Command + ->)
- 新しいタブに複数の候補を表示 (Ctrl + Enter)
- フレームワークの使用
- 有効化 / 無効化
- GitHub Copilot Chat
- チャット経由で色々やってくれるやつ
- チャットできる場所は下記 3 箇所
- 左メニューチャット
- 全体チャット (Command + Shift + I)
- テキストエリア内のインラインチャット (Command + I)
- よく使う機能はテキストエリア内からコンテキストメニューで利用可能
- これを説明する (
/explain) -> 範囲選択してる必要あり - これを修正する (
/fix) -> 範囲選択不要 - ドキュメントを生成する (
/doc) - テストを生成する (
/tests)
- これを説明する (
- ショートカット
@/#
- Copilot Labs 時代のコマンドパレット (使い方の参考になる)
- Suggest test
- Make this code more readable
- Add Types to this code
- Find a bug in this code
- Make this code easier to debug
- Clean up this code
- Document the steps of this code
- Make this code more robust (例外処理の追加)
- Break this code into smaller chunks
- Document this code
- ユースケース考えてみた
- 新しい処理の実装たたきを作ってもらう
- ちょっとしたスクリプトを書いてもらう
- メソッドを書いてもらう
- 既存の処理を修正・エンハンスしてもらう
- リファクタリング
- 読みやすくする
- デバッグしやすくする
- 例外処理追加など
- 新しいファイルを作ってもらう
- テスト作ってもらう
- README 書いてもらう
- ソースコードリーディングのサポートをしてもらう
- パスを指定してファイル読んでもらうとかできるっぽい
- 新しい処理の実装たたきを作ってもらう
- 所感・疑問など
- 専用のモデルなのかレスポンス速くていい
- プロジェクト全体のコードのことどこまで気にかけてくれるのか
- → 開いてるタブだけとかそんな感じっぽい
- キーボードなしでコードが書けるという Copilot Voice 気になる
- 著作権違反対策として、パブリックコードに一致するコードは提案に含めない設定ができるらしい