👌

GitHub Copilotは、日本語のコメントを理解している?

2022/10/05に公開

プログラムを考える時間で、HTMLファイルから指定のタグの範囲のコードを取り出してWordPress化できると思い、頑張って人力で作業しています。
タグの囲みの範囲がCSSの設定で影響を植えける内容が分かったので、もう一度やり直しを予定しているところです。

そんな中、プログラムを書く生産性を高めるために、自然言語のキーワードがひらめき、検索してみました。
そうしたら、GitHub Copilotを見つけました。
https://github.com/features/copilot/

使い方をネットで確かめようと検索したのですが、よく分からず・・・
とりあえず60日間無料で試すことが出来ると知り、申し込みました。
そして、VSCODEの拡張機能をインストールしました。

https://docs.github.com/ja/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code

GitHubの支払い設定を行いVSCODEの拡張機能をインストールし準備

上記の記事を順番に進め、VSCODEで使えるようにしました。
例題のJavaScriptのコードを入力しても上手く動かなかったので、PHPで下記のようにコメントを書いてみました。

すると、自分で引数を割り当てて来ました。
そして、進めたらコードを書いてきました。
次へ、前に、同意みたいな選択肢が青い文字で、表示されました。

<?PHP

//指定したクラス名の範囲のHTMLタグを取り出す
と書いたら下記のコードを順番に出力されました。

//引数:$html:HTMLソース、$class:クラス名

function getHtmlByClass($html, $class){
    $pattern = '/<[^>]*class="' . $class . '"[^>]*>(.*?)<\/[^>]*>/';
    preg_match($pattern, $html, $matches);
    return $matches[1];
}

感動してしまいました。
これならネットで、コマンドを調べなくても良いと思ってしまいました。
コードを補完するという意味が、分かったように思います。

自分でコメント扱いで書いてくるし、日本語のコメントを理解してコードの提案をしているように思いました。
私は一人でプログラミングしているため、分からないことがあっても相談できる人がいないです。
Q&Aサイトを使っても教えてもらないこともあり、困ることもありました。

GitHub Copilot(ギットハブ コパイロット)は、私のようにフリーランスでプログラミングしている人には、心強い相談相手になるかもしれませんね。

これはすごいの続報

PHPでHTMLのファイルを読み込んで、指定したタグの範囲を取り出すプログラムを書こうとしました。
Copilotが日本語で書いたコメントの先を予測したり、処理を予測しているようなので、驚きました。
思わず、動画を撮影してしまいました。

https://youtu.be/ihP2yld_KvE

後は、出力されたコードが合っているか、意図した通りに動くのか検証を人間が行う流れだと思います。
これは、ネット検索して自分で考えるより、早く仕事ができそうです。

Discussion