Open4

Github Copilot入門

nemunyannemunyan

まずAWS Codewhispererを使ってAIコード補完がどんなものか試してみる。

なぜCodeWhispererなのか:無料だから。

環境:VScode
言語:php(Laravelのバックエンド処理)

結果:publicと打った辺りで最も優先度の高い関数を提案してくれた(getAllなど)
public function removeHogeまで入れるとちゃんとdeleteしてくれる関数を提案してくれた。

ただコード生成速度(重い)に問題があり、補完精度にも問題があるらしいので、Github Copilotを試してみることに

nemunyannemunyan

Github Copilot(Nightlyビルド+Labs)を導入して使ってみる

コード補完機能

  • レスポンスが早い
  • Ctrk+Enterキーで複数の候補を列挙させられる
  • 関数名や引数名まで入れてあげると、よりほしいものが得られる:AIは全部そうか

LabsのREADABLE機能
最強,全コードは完成後これをかけてもいいってくらいすごい
適切なインデント、スペーシングなどを行ってくれる

nemunyannemunyan

LabsのFixBug機能
これもかなり強力、VScodeがエラー箇所を特定してくれているんだけど直し方が分からないって時に試しに一回やってみると直るか、直し方のヒントが得られて良い
LabsのClean機能
余分なコードをスパっと取り除いてくれるが、try-catch系統の部分もバッサリ持っていかれるので、Exception管理をしたい場合は不向きかもしれない
Chunk機能
LaravelのServiceクラスなんかにおいて、関数が長くなってきたな~って時に使ってみるといい感じで単一責務にしてくれる 変更部分が多くなるので生成されたコードはよく吟味したほうがいいが、巨大クラス/関数防止、適切なprivate関数の利用などを示唆してくれる優秀な機能。

nemunyannemunyan

DEBUG/CLEAN機能
デバッグコードを追加/除去する。Laravelの場合Logファザードを使うコードが出力された。