GithubCopilotを使ってみたら感動した話
はじめに
最近MacBook airを購入しまして環境構築ついでにGitHubCopilotを導入してみたのですが
ノンプログラマにとってありがたい機能満載で感動したので今更感ありますが記事にしたいと思います。
先に結論
・個人で使う場合、料金体系は月10$ or 年100$
・コード補完をしてくれる
・Copilot Chatで作成したスクリプトの実行コマンドを生成してくれる
・Copilot Chatで作成したスクリプトのドキュメントも作成してくれる
環境
- Mac
- Vscode
- AmazonQ
- GitHubCopilit
- boto3
料金体系
下記URLの「05 GitHub Copilotの料金体系」を参照してください
GitHubCopilot導入手順
下記URLの「06 GitHub Copilotのインストール方法」を参照してください
※GitHub自体の導入は下記を参考にしてください
GitHubCopilotでコードを書いてみる
AWSのS3バケットの一覧と作成日時を取得するコードを書いてみようと思います。
作業用ディレクトリに「test.py」を作成して下記コメントを記述します。
# S3バケットの一覧と作成日時を取得する
するとTabを押下するたびにコードを提案してくれます。(Tabを選択することで提案されたコードを適用します)
# S3バケットの一覧と作成日時を取得する
import boto3
s3 = boto3.client('s3')
response = s3.list_buckets()
print(response)
(省略)
コードが完成するまでTabを押下していくと下記コードが完成しました。
# S3バケットの一覧と作成日時を取得する
import boto3
s3 = boto3.client('s3')
response = s3.list_buckets()
print(response)
for bucket in response['Buckets']:
print(f'Bucket Name: {bucket["Name"]}')
print(f'Creation Date: {bucket["CreationDate"]}')
余計な出力は減らしたいので途中のprintはコメントアウトします
# S3バケットの一覧と作成日時を取得する
import boto3
s3 = boto3.client('s3')
response = s3.list_buckets()
#print(response)
for bucket in response['Buckets']:
print(f'Bucket Name: {bucket["Name"]}')
print(f'Creation Date: {bucket["CreationDate"]}')
コードを実行してみます
せっかくなのでGitHub Copilot Chatを使って実行コマンドを作成してもらいました。
Copilot Chatを開いて「@terminal test.py」と入力してみます。
すると下記画像のように実行方法が返ってきました。
そのままVscodeのTerminalに貼り付けて実行してみます。
tshimoda@tshimoda work % python3 test.py
Bucket Name: cdk-hnb659fds-assets-381492140136-ap-northeast-1
Creation Date: 2024-06-30 03:29:17+00:00
Bucket Name: cf-templates-zv0ge0zg0iwk-ap-northeast-1
Creation Date: 2024-06-13 13:45:55+00:00
Bucket Name: tshimoda20240707
Creation Date: 2024-07-07 08:16:27+00:
想定通りに動いてくれました。
(複雑な処理だとこんなに上手く動くことはないのかも)
コードのドキュメントを生成する
実際の業務ではどんなコードなのかドキュメントを残さなくてはなりません。
面倒臭いのでGitHub Copilotに叩き台を作ってもらいます。
Copilot Chatを開いてドキュメント対象のファイルを選択後「/doc」と入力してみます。
すごい!! 感動しました笑
参考
おわりに
思ったより日本語もしっかりしているし叩き台としては十分なのではないかと思いました。
もう少し長いコードを書いたときにどのようになるのかいずれ試してみてみたいと思います。
個人的には月額10$払う価値はあるように感じました。
Discussion