GitHub Copilot
I came across this a couple of months ago and signed up for the technical preview. I had mostly forgotten about it until recently when I received an email from GitHub telling me that I now had access. Honestly I’ve been blown away by how good it is so I thought it was worth doing a quick post to share my impressions and let others know it exists!
What Is Copilot?
I’ll let you read the website to get the full sales pitch but essentially Copilot is GPT3 paired with all the publicly available code on GitHub. You type a function name and Copilot suggests an autocomplete for the entire function, you type a brief comment describing the thing you’d like to do and Copilot suggests the code that will do it.
Not only that but it works really well and can actually save you some time. Under the hood it’s all powered by Open AI and thanks to GitHub’s enormous code library it works with pretty much every language or framework you can think of.
Why I’m So Impressed
I’ve used a few different AI assisted plugins before, tabnine seemed promising but didn’t provide very good results, the IntelliCode plugin for VS Code produced great improvements in auto completion for raw JavaScript but unfortunately didn’t seem to work in Vue templates which meant I rarely saw any benefit from it. Copilot on the other hand has been revolutionary, it’s suggestions are so good, not only has it saved me from having to Google a few common and simple subroutines that I’m too lazy to write from scratch but it’s context aware matching my coding style, const vs var for example, or tabs vs spaces.
Better still Copilot has even picked up on things like route names and predicted that since I have a table in my template I might want to navigate to the relevant route when an item is selected, what really shocked me however, is that it predicted all this as soon as I typed the word “methods” in my Vue component.
Possibly the most useful thing it has done so far however, is makeup for Google’s lousy documentation. I could write an entire post about how terrible I find Google’s documentation, but while working on a recent project and struggling to find a simple list of method names for the relevant section of the Google Cloud API it occurred to me that I could just write a brief comment describing what I wanted to do and Copilot would write it for me. I tried it, and it worked! I was ecstatic, and deservedly so as it could have taken forever to find without Copilot’s help.
Conclusion
Copilot isn’t going to be able to write everything for you, it doesn’t always get it right, and it is going to have to share your code with the GitHub & Open AI to provide completion recommendations, but, that said, as you likely host your code on GitHub anyway, I don’t think that’s a huge issue. The tab completion suggestions Copilot gives you are genuinely useful and have really made a difference to the way I code, if you’re reading this I highly recommend giving it a go.
0 Comments