First impressions of GitHub CoPilot

Finally had a chance to get a first hand taste of GitHub CoPilot – the AI-based automated code generation tool which is in restricted Beta. And I have to say I like it and would encourage you to get on the beta list. I had seen a few videos on it, but it really feels different with you have it running in the background of a live project of your own. It makes suggestions that are at times helpful other times not, but never annoying.

I found it most impressive and helpful when running inside a javascript code base that I are extending. A line of comments in context is often all it needs to generate a decent snippet of code. And while generating code it a new function, it picked up and integrated very particular structures in my code base – e.g. my object model, my callback structures, my naming scheme, etc.. It did not feel like it was grabbing code verbatim from GitHub as some have postulated. It was writing code in my style. It was a bit freaky to see how well it mimicked new lines of code that I could have written. At times it was like the Gmail autofill that guesses what you might want to write. But this is code and it was rarely wrong.

GitHub CoPilot integrates with Visual Studio Code and requires Node.js and NPM (you install it as a package). I ran it on a Windows Machine running WSL2 with Remote Development Tools so was in clean virtualized Linux environment.

Here is a live example of this: I typed the first 2 lines – a comment and the function definition. And CoPilot within a couple of seconds suggested the next 15+ lines comprising a complete function with callback and error capture in keeping with my object model and variable structures.

Github CoPilot generated all the lines in Gray. If you keep typing you the code disappears. If you tab – the code is captures and you can edit it further.