【Github Copilot】コミットメッセージはAIが考える時代!?
2024-01-24
X(旧: Twitter)でVisual Studio Code(以下、VSC
と表記)とGithub Copilot(以下、Copilot
と表記)を使えば、コメントを自動生成してくれるポストを見つけ、少し興味を持ったのでメモ程度に書いています。
Copilotでコミットメッセージを生成する方法
それでは、Copilot
にコメントを書いてもらいます。
ステップは簡単で、
- 対象ファイルをステージングエリアに追加
- 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上の便利機能でした!