Review: GitHub Copilot Technical Preview

(Originally written Wednesday, 24 November 2021)

About a month ago, I got invited to the GitHub Copilot Technical Preview. It is essentially code autocomplete on steroids for Visual Studio Code - behind the scenes it's built upon an OpenAI machine learning model named Codex, which was trained using public code from GitHub repositories and Stack Overflow answers. It works with a variety of languages - so far I've mainly used it with JavaScript code.

Usage is fairly simple - once you install the plugin from the VS Code Extensions Marketplace, you just need to login with your GitHub account - this is to ensure that you're eligible to access the technical preview. Since it collects usage data for improvement, a nice feature that it has is that it's automatically disabled when inside of anything that could be some sort of config or secrets file - for me, when I was in GitHub Actions yaml files and also .env files, it was disabled. Once you're in a file it's already running - as you write code documentation and function signatures it begins to suggest autocompletions:

Once you're happy with the suggestion, you can press Tab to accept it:

(I tried using `Shift + [` and `Shift + ]` to select other suggestions but it wouldn't work for me at the time.)

I'm very happy with this - I see how it significantly speeds up development, especially considering that you could have one less window open as you wouldn't need to look at Stack Overflow or documentation when trying to figure out the best way to complete common tasks in code. However, I wouldn't say it's ready to be used as a daily driver at work yet, there is no way to run it offline and have it not send usage statistics and potentially your code to a third party server - I can imagine quite a few employers wouldn't be happy with this, especially when dealing with sensitive IP in a competitive or national security space. It's very handy for working on personal projects though.