Codeium with Neovim for A.I. powered code-completion: so far so good
Codeium is a GitHub Copilot alternative that I'm trying out
⛏️Go Deeper: Updated analysis available
I've since written an updated and more in-depth analysis of Codeium, how it differs from its competitors and why it's still my favorite tool
The world of A.I. enhanced developer tooling moves very quickly, but you still may not yet have heard of Codeium, an open source and free alternative to GitHub's Copilot.
What's wrong with GitHub Copilot?
I'll focus on the perceived quality of Copilot's code completion capabilities.
At the time of this writing, GitHub's Copilot X, which is powered by ChatGPT4 is still forthcoming, and promises to enable developers with better support for code completions, PR reviews and auto-generated descriptions and the like.
According to GitHub's own product / landing / teaser page, they're still figuring out how to to package it all and how much it will cost. Given my experience with ChatGPT4 itself, I expect that Copilot X will perform a lot better across the board on developer wofkflow tasks including code completion.
I've had access to Copilot "original" as an open source developer for several months now, and had installed it on Neovim across a couple development machines. I was uniformly underwhelmed by its performance. The common wisdom these days appears to go: let Copilot fill in the boilerplate for you.
And indeed, in my experience, Copilot required me to fill in essentially everything else - a large comment for context, the function signature and the initial lines of code, perhaps even the return values. And then it could save me a bit of time by filling in some repetitive and obvious code I otherwise would have had to type out myself.
But most of the time, I was just ignoring Copilot suggestions as I went about my development tasks mostly unaided.
How is Codeium different?
Codeium is free, forever, for individuals, such as yours truly. Here's my experience with Codeium in a nutshell. I signed up for free, and followed their installation guide to get the Codeium plugin working in Neovim.
However, because I'm currently running AstroNvim, which is an open-source project that provides an IDE-like experience out of the box, it didn't work initially for me, and I had to do some spelunking and tinkering to get it to work.
To be crystal clear, this is because I'm running something other than stock Neovim, intentionally, and because I like encountering these kinds of issues so that I can learn more. I don't fault Codeium for the fact that my installation was slightly more involved than just installing a new Neovim or vim plugin.
If you run more or less stock Vim or Neovim, I'd expect the Codeium installation instructions to more or less "just work" for you.
How was the code-completion?
Really good - definitely better than GitHub Copilot, in my experience. I am not only getting excellent code completions that I can accept as I'm writing code, but Codeium is even correctly inferring what I'm trying to do when authoring markdown READMEs.
For example, the other day, I was writing up the README for my automations project, and when I started to write the prerequisites section, Codeium correctly inferred what I was going to do and wrote up all the links to the GitHub projects that are dependencies of my project.
In addition, Codeium keeps tabs on the completions you accept and in which languages, and as their site explains, Codeium comes with a wider array of languages that it supports out of the box than GitHub Copilot.
The bar chart is sort of fun to peak at, but, I thought, not very material, until I considered that in the span of a single hacking session, Codeium successfully assisted me with markdown, lua, go, shell and Javascript. Not bad for a free service!