本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「【Github Copilot】コミットメッセージはAIが考える時代!?」を再編集したものです。
X(旧: Twitter)でVisual Studio Code(以下、VSCと表記)とGithub Copilot(以下、Copilotと表記)を使えば、コメントを自動生成してくれるというポストを見つけ、少し興味を持ったのでメモ程度に書いています。
Copilotでコミットメッセージを生成する方法
それでは、Copilotにコメントを書いてもらいます。
ステップは簡単で、
1. 対象ファイルをステージングエリアに追加
2. VSCのSource Controlタブで☆のアイコンをクリック
以上、2ステップで簡単にコミットメッセージを生成します。
検証
コミットメッセージの精度を評価するため、以下3パターンを検証します。
1. flutter createで作成したプロジェクトファイル全てをステージングエリアに追加
生成結果
Add new files and update existing files
2. main.dartを変更
変更前
void _incrementCounter() {
setState(() {
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below
// so that the display can reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be
// called again, and so nothing would appear to happen.
_counter++;
});
}
変更後
void _incrementCounter() {
setState(() {
_counter--;
});
}
コメントを削除し、加算から減算に変更。
生成結果
Decrement counter in _incrementCounter method
3. linuxディレクトリを削除
生成結果
Remove unused Flutter files
評価
1と3はファイルの追加や削除で作業範囲自体は大きいですが、内容は単純なため、「追加(or 削除)したんだな」と人間なら判断すると思います。Copilotは察することができないため、1と3は曖昧な表現になりますが、適切な粒度で追加した2は人間と同程度(もしくはそれ以上)の内容を生成しました。 (※ 筆者の独断と偏見でコミットメッセージを評価しています)
結論
Copilotにコミットメッセージを生成してもらう場合は、適切な粒度でステージングエリアに追加すること!
感想
筆者がコミットメッセージを書いた場合、
1:add: Flutterプロジェクトの作成及び追加
2:edit: 加算から減算に変更
3:delete: linuxディレクトリを削除
と書くため、2しかCopilotと意気投合しませんでしたw
以上、「gitの操作はCLIでしょ!」というCLI派閥の筆者がGUI派閥に寝返るかもしれないVSC上の便利機能でした!
西村 凌/FIXER
四日市事業所所属のクラウドエンジニア。
趣味でFlutterやRustを勉強しているキーボードオタク


この連載の記事
-
TECH
「SOSの出し方を知ろう」 新卒入社から1年、学んだことを振り返る -
TECH
はじめてのOSSコントリビュートで“推しからのリプ”をもらった話 -
TECH
Kubernetesのcert-managerについて簡潔にまとめておきますね -
TECH
WSL2でのGitHubの認証をできる限り簡単に行う方法 -
TECH
MacでGitHub CLIの認証を行う方法 -
TECH
ゆるく理解する自作シェル実装1:そもそもシェルってどんなもの? -
TECH
プロンプトエンジニアリングのコツは「5W1Hを忘れずに」 -
TECH
GitHubの 超・超・超 基本的な使い方まとめ -
TECH
業務で使えるExcel関数テクニック − 関数を使った動的な範囲指定のコツ -
TECH
zshの初期設定がダサい…。表示内容を自分好みにカスタマイズしていく -
TECH
Proxmox VE+OpenMediaVaultで自宅用NASを作ってみた - この連載の一覧へ



