So I decided to finally give GitHub Copilot a spin. Let's see how our new robot overlords are doing in terms of programming!
Turns out there is no way to just go to a website, start typing and see the magic in action. There is a plugin for Neovim, but I don't like to install stuff that is not in the Debian repos. Docker to the rescue!
As with anything I do manually, I put the steps into a script, so I don't have to do it again. And so I can share them. So here it is, the script to easily try Copilot in Vim in Docker.
Unfortunately it is a "script" that you have to execute manually line by line. Since it switches in and out of the container and needs you to manually register a token shown by the plugin during the setup. If the plugin setup was non-interactive, it all could be done in a Dockerfile.
docker run --name copilotcontainer -it debian:sid-slim apt update && apt upgrade -y apt install -y neovim nodejs git git clone https://github.com/github/copilot.vim.git ~/.config/nvim/pack/github/start/copilot.vim vim # Now in vim type: # :Copilot setup # And then hit enter # The plugin will display a token. # Open a browser and paste the code on https://github.com/login/device # After a few moments, the plugin will finish the setup # Now exit vim # Exit the container docker commit copilotcontainer copilot docker rm copilotcontainer ## All done # From now on, you can use the copilot container with: # docker run --rm -it copilot
When you run vim and go into insert mode, the plugin constantly suggests stuff. Here I typed the colorized code and Copilot suggests the grey code: