DEV Community

Foyzul Karim
Foyzul Karim

Posted on

Improving Commit Message Quality in VSCode with Copilot

Writing meaningful commit messages is a crucial part of software development, but if you're like me, the default commit message generation experience in Visual Studio Code (VSCode) using Copilot might feel less than ideal.

Recently, I discovered a simple yet effective workaround that leverages Git and GitHub Copilot to significantly improve the commit message writing experience. Here's how you can achieve it too.

The Workaround

To bypass the default commit message workflow and let Copilot take the lead, follow these steps:

1. Generate a Diff Log

Run the following command in your terminal:

git diff > diff.txt
Enter fullscreen mode Exit fullscreen mode

This command creates a diff.txt file that contains all the changes staged for the commit. The file is automatically added to your VSCode workspace, providing a detailed context of your changes.

2. Attach the Diff File to Copilot

In VSCode, open the diff.txt file. Use Copilot's file attachment feature and provide a prompt such as:

Write a clear and concise commit message based on the changes in this file.
Enter fullscreen mode Exit fullscreen mode

3. Review and Use the Commit Message

Copilot will generate a commit message based on the content of diff.txt. Review the suggestion, make any necessary adjustments, and copy the message into your Git commit command or VSCode's commit message editor.

Results in GPT-4o and Claude

Commit message generation using GPT-4o and Claude

YouTube walkthrough

Why This Works

The key advantage of this approach is the context provided by the diff.txt file. By giving Copilot detailed information about the changes, you enable it to:

  • Summarize the intent of the code changes.
  • Highlight specific modifications.
  • Suggest a commit message that is structured and meaningful.

This results in a noticeable improvement in the clarity, accuracy, and relevance of your commit messages—a significant upgrade from the default experience.

Results and Observations

After adopting this workflow, I’ve found that:

  • My commit messages are more descriptive and professional.
  • I save time compared to writing messages manually for complex commits.
  • The process feels smoother, with less context-switching.

Closing Thoughts

This workaround is a simple but effective way to integrate AI into your commit message writing process. It not only enhances the quality of your messages but also makes the overall workflow more enjoyable.

If you’re a fan of leveraging Copilot or other AI tools for developer productivity, I’d love to hear your thoughts or additional tips. Have you tried something similar? Let me know in the comments below or reach out on Twitter or LinkedIn!

Happy committing!

Top comments (0)