VSCodeでGitHub Copilotを使ってみた
先に感想
神がちで神
1回使うともう離れられない。
追記
GitHub Copilotの正規リリースが開始されました。
この記事はベータ版の際に書かれた物なので、修正を随所に入れております。
使い方
下記ページでGitHub Copilotの登録をしてください(無料)
VSCode用のGitHub Copilot拡張機能も入れておきます。
似た名前のGitHub Copilot Nightlyがありますが、
こちらはプレリリース版です。
登録してからめちゃくちゃ待たされます。
私の場合は3~4ヶ月待ちました。
最初の60日は無料で、以後有料です。
(月10ドル、年払い100ドル)
高いと思うかもしれませんがこの記事を読むと、
「本当に10ドルでいいんですか?」となります。
また、学生かOSSに貢献していると無料です。
良かった点と凄いところ
コメントから予測してくれる
下記コードは # This def asks for name and age.
しか書いていません。
# This def asks for name and age.
def ask_name_and_age():
name = input("What is your name? ")
age = input("How old are you? ")
return name, age
コメントなしでも意外と効く
下記のコードは def average
や func average
だけで勝手に生成してくれたコード。
(averageは平均という意味)
def average(data):
return sum(data) / len(data)
func average(data []float64) float64 {
return sum(data) / float64(len(data))
}
変数名からでも予測してくれる
下記の例は input_age
しか入力していない。
input_age = input("年齢を入力してください: ")
見やすい
薄い文字で出力されるので見やすい。
答えが複数ある
下記画像のように複数答えがある場合は選択できます。
コードの意味を本当に理解している
下記のコードで入力したのは def average
と print("平均は
だけ、
残りは全て自動。
def average(data):
return sum(data) / len(data)
print("平均は", average([1, 2, 3, 4, 5]))
連続で入力すると続きを推測してくれる
最初の文章以外は言語名しか書いてないです。
Proguraming Language Comment List
Python: #
Go: //
TypeScript: //
JavaScript: //
Java: //
C: //
C++: //
C#: //
PHP: //
Ruby: #
Haskell: //
他にも
pythonは def prime_number
だけ。
goとtypeScriptはそれぞれ func
と const
だけ。
def prime_number(n):
for i in range(2, n):
if n % i == 0:
return False
return True
func prime_number(n int) bool {
for i := 2; i < n; i++ {
if n % i == 0 {
return false
}
}
return true
}
const prime_number = (n: number) => {
for (let i = 2; i < n; i++) {
if (n % i === 0) {
return false
}
}
return true
}
きっとCopilotは、
こいつMarkdownで色んな言語で素数判定のプログラム書きたいんだろうなぁ。
と思っているに違いないです。
不安なところ、不満なところ
-
ライセンス問題設定から変更できる - 正しいコードなのか
- コード補完と競合することがある
- Zigみたいな新しい言語は推測できない
- etc...
よくライセンス問題とかコメントが面倒臭いと騒ぐ人達がSNSにはいますが、
ライセンス問題は設定から対処できます。
またコメントが無くても上記に示した通り関数名やコードの流れからCopilotは推測してくれます。
まとめ
使うのは自己責任だがエスパーみたいな相棒が手に入る。
体感90%ぐらいの確率で欲しいコードを提案してくれます。
開発速度が上がる(かも)
何度も言いますがしっかりコードはチェックしましょうね。
宣伝
GitHub Copilotがさらに便利になるプラグインの解説はこちら
感謝
皆さんのおかげで2022年6月24日現在検索ランキング2位です!
本当にありがとうございます。
🙇
Discussion