GitHub Copilot Review: A Month of Coding with AI Assistance
Written on
Introduction to GitHub Copilot
The advent of AI technologies, notably with tools like Chat-GPT, has transformed the landscape of coding. A significant focus is now on AI tools designed to automate various tasks. Today, I want to share my experience after using GitHub Copilot for a month. If you’re not familiar with it, GitHub Copilot is an AI-powered assistant that aids in code writing. Marketed as an AI Pair Programmer, it aims to let developers concentrate on larger challenges by managing the smaller coding details. It's particularly useful for tackling unfamiliar programming languages and offers inline suggestions during coding. For context, I typically use VS Code, and I’ll base my review on that experience, although Copilot is compatible with other IDEs like Visual Studio and JetBrains.
The Positive Aspects
After a month of using Copilot, I can confidently say that it is an impressive tool. My coding experience has improved, and it has certainly assisted me in resolving complex coding challenges.
Enhanced Code Completion
One standout feature is its automatic code completion. As you type, Copilot begins suggesting the next lines of code.
When I start typing a function, it often proposes the next line or several lines. More times than not, these suggestions align perfectly with my intentions or even enhance my initial thought. This feature significantly boosts my coding efficiency.
Contextual Understanding of Code
As you delve into larger projects, minor bug fixes or new features can become quite specific. You’ll often rely on functions you’ve previously created or constants defined elsewhere in your code. One impressive capability of Copilot is its ability to “understand” what you’re aiming to achieve and offer relevant suggestions. While this functionality can be hit or miss, when it works, it’s quite remarkable.
Function Generation from Comments
Another intriguing feature allows Copilot to propose functions or code blocks based on your comments. By highlighting your comment and pressing Control + Enter, you can receive up to ten suggested solutions, complete with commentary explaining the code.
For instance, if I wanted to create a binary search function, Copilot can generate a useful block of code, which is particularly beneficial for tasks like generating a UUID. While I would typically resort to installing a package for such tasks, Copilot’s ability to generate utility functions is a game changer.
The Downsides
Despite my overall positive experience, there are a few aspects I find frustrating. While these issues aren't critical, they are certainly areas for improvement.
Conflicts with Other Extensions
Although I appreciate the code completion feature, it can interfere with the IntelliSense functionality of my IDE or extensions. When Copilot makes a suggestion, it can be challenging to trigger IntelliSense to display available functions, which can be quite frustrating when I need specific information.
Incomplete Function Suggestions
While Copilot can generate entire code blocks from comments, I've noticed that if my comment spans two lines, it often fails to produce a relevant code response.
Instead of providing the requested code, it may simply return a series of comments. Ideally, I would prefer a solution where I could input a simple placeholder and have Copilot generate a complete function.
Incorrect Code Placement
This issue is relatively rare, but occasionally, Copilot suggests incorrect line completions. For example, while typing a statement, it may suggest an erroneous completion that introduces syntax errors.
While this is a minor annoyance, it can disrupt workflow, especially when dealing with complex code structures.
Conclusion: A Valuable Tool
Overall, I find GitHub Copilot to be a valuable addition to my coding toolkit. I'm pleased to continue using it and investing in its subscription. It effectively streamlines the process of writing boilerplate code, allowing me to focus on the more creative aspects of programming. While a few minor issues exist, they do not significantly detract from its overall usefulness. If you're curious about trying it out, I highly recommend giving it a shot!
In this video, "First Hour with GitHub Copilot," you can see a detailed introduction to the tool and its features.
The second video, "Github Copilot No Longer Free? | How to Continue a Free Subscription," discusses options for maintaining access to Copilot without incurring costs.
For more insights, feel free to visit my website for additional articles and resources!