t_hazawaの日記

株式投資とWebエンジニアリングのブログです。株式投資の目次は→です。 https://t-hazawa.hatenablog.com/entry/2021/02/12/220933

Github Copilotを使ってみた

まとめ

  • GithubCopilot は確かに、その行における正しいコードを書いてくれる
    • メソッドコメントだけ書けば全部書いてもらえる
  • でも、Webエンジニアリングの仕事は (新規開発でなければ)「理解→調査→特定(特にどのコードのどの部分を修正すればいいかの特定)→コードの変更」で、GithubCopilot だけでは最後だけに対応
  • しかし、Github Copilot Chat だと、その前の3工程にも使えそうなので期待大
    • (まだアクセス可能になってない)

経緯

  • Github Copilot を使ってみようと思った (元々文章系の生成AIも好き)

料金

私の使いはじめ方

  • GithubのWebサイトでオンにする
  • VSCodeに GithubCopilot の拡張機能を入れる
    • 拡張機能を入れたら、右下に通知で「Githubにログインしてね」と出る
    • もし見逃したら(←割と短い時間で消えるので、メモを取りながらだと、そもそも出ていることを視界の端に捉えるくらいになりがち)、再び出すには、右下のそのくるくるしている所をクリックすると、左下のステータスバーのようなところに「activating extensions くるくる」と出るので そこをクリックすると 右下に「githubにログインしなさい」ダイアログが出てきてくれる
  • (Vimなど他のエディターでも使える)

このように使うのだ

  • コードの中でコメントやコードの一部を書くと、候補が(0.5~1秒くらいすると)表示されるので、Tabで選択してエンターを押すと確定できる
  • エンターを押して確定させた後に、さらにエンターを押すと、次の行にも候補がでるので、さらにTab Enter... と繰り返していくと最後まで書いてもらえる
    • ただ、途中で空行がサジェストされる?ので、「ここは空行だろう」と候補が出なくてもエンターを押して空行を入れると続きを書いてもらえたりする
    • もちろん、自分で作成したクラスのメソッドとかもしっかり使いこなしてくれる
      • 既にコードの中にある言い回しは特に使いこなしてくれるぽい
  • Ctrl + Enter (同時押し)をすると、複数行の候補が複数出る (クリックで反映)
  • GitHub Copilotの威力(日本語からソースコード自動生成) #VisualStudioCode - Qiita さん曰く…
    • (Copilotは、Python以外も対応していますが、サジェストの採用率はPythonが40%と高いようです。)

    • デバッグ用コードも書ける # デバッグ用とだけ書いたり print とだけ書けばサジェストできる
    • 細部を考慮したエラー処理がない

    • 考察が素晴らしい記事です
    • 作りたいときに課金がよいとのこと

Github Copilot Chat (旧 Github Copilot X) を調べてみた

  • ChatGPTみたいなチャットボックスが出て色々できる新機能 (テクニカルプレビュー段階)
  • qiita.com
    • 一通り使ってみたことをわかりやすく解説されてる記事
  • 今もまだ? waitlistというかテクニカルプレビューに参加しないと使えないらしい (多分)
  • Github Copilot Chat よりも前からあった Github Copilot Labs
  • brush は、コードを範囲選択して、その部分を良くする機能みたい。

Github Copilot Chat みたいなことを ChatGPT を使って実現していた GenieAI

まとめ

  • 「こういう改修をするにはどのコードのどこを直せばいいですか」と聞けば返してくれそうな Github Copilot Chat に期待
    • 学習されてもいいなら GenieAI も使えそう

関係ないVSCodeショートカットの消滅

  • VSCodeのアップデート中にOSをシャットダウンするとVSCodeのショートカットが消える
  • qiita.com に書かれているように、再度VSCodeをインストールすると復活する
  • リンク先にも書かれているように、拡張機能もそのまま & 最後に開いていたファイルも全部そのまま復活した。

所要時間

  • 2時間45分
  • 内訳
    • 理解: 24分
    • copilot触ってみた : 36分
    • copilot chat など調べた: 50分
    • ブログを書いた: 50分 結構かかるね (2800文字)