🤖

Github Copilotのかしこい使い方

2021/11/04に公開

概要

Github Copilot の Technical Preview が使えるようになったので、便利そうな使い方をメモ程度に書きます。何も考えずにオンにしていても十分便利な Copilot ですが、意識的に有効活用するともっと便利になるのでおすすめです。

この記事では Copilot 自体の解説は省きます。

Github Copilot のかしこい使い方

コメントからコードを生成する

利用例とかでも一番良く見るパターンですね。コメントを書いて関数定義の頭(JavaScriptなら function )とかまで書くとスムーズに補完してくれます。

コメントで引数を適当に書いておけば、それに合わせた関数を補完してくれます。

Twitter やネットの記事では、定形の関数(クイックソートとか)を補完している例がよく見られますが、実際はそうでない関数も補完してくれます。

ただ、結構な確率で変な関数も生成するので、意外とたくさん使わない使い方かなと思います。

例示からコードを生成する

これオススメです!
Copilot はカーソルの直前までの文脈を加味してコードを生成しますが、コメントやコードで例示をしてあげると空気を読んだコードを生成してくれます。

例えば、Railsのモデルの型定義をTypeScriptで作りたいときがありますよね?自動化しろという話はさておき、Copilotならコメントにスキーマをコピペするだけで、自動で型を補完してくれます。


※選択部分が補完されたコード

例えばAPIのレスポンスの一例を例示することで型を補完することができます。

また、Copilotはファイルを跨いで文脈を取得することはありませんが、あえてコメントなどで先頭に関数やクラスの定義を書くことで、補完をさせることもできます。

別言語への翻訳

言語間の翻訳もある程度できます。下の図はJavaScriptの処理をSQLに変換しています。

prinfデバッグ補完

prinfデバッグするときにすごい勢いで補完してくれて地味に便利です。

Discussion