My Codium Weekend

Apart from having fun and providing useful software for researchers, my quality time software project I’ve been working on for almost a decade, is to stay up to date with the latest software development methods and tools. Earlier this year, I’ve switched my development environment and deployment method to Docker containers. Once set up, this made my software development routine much easier and users of my Document Research Database software can swiftly install an instance from Gitlab on a server of their choice. While the software is in constant evolution, one thing however has remained the same throughout: The development environment. So far, I’ve been using Eclipse, as once upon a time, that was the standard development environment for PHP. But things have changed over the years and VSCode now seems to be the preferred editor for software developers. And indeed, it looks very nice. Unfortunately, it has one major flaw: It’s maintained by a company that, like no other, stood for fighting against Linux and open source.

That might have changed and the code of the VSCode editor is on Github with an open source license. However, the compiled binary contains a number of telemetry modules and there was just no way I would ever agree to that. I’d rather hammer my code into stone tablets. Fortunately, I seem not to be the only one who is not keen on being spied-on, which gave rise to VSCodium, which is automatically compiled from the VSCode sources in Github with the telemetry code removed. This made me jump over the shadows of ghosts still lingering in a dark corner and I gave VSCodium a try.

And indeed, I liked working with the editor on my PHP / SQL / Javascript project straight away. No configuration was necessary out of the box, I just had to select the project directory. Doing the same with Eclipse is an order of magnitude more difficult. Out of the box, VSCodium already works great with PHP and Javascript, and the only thing that was really missing for me was the automatic lookup of the definition of functions and classes of the project. There is an add-on for this which works great, but it immediately connects to the cloud to export telemetry data. Hm, well, no, thank you very much, I’d rather press a few more keys (Ctrl-Shif F + ‘function xyz’ or ‘class xyz’) to find the definitions.

I also like the Git integration in VSCodium a lot. Doing a diff, committing locally, reverting changes and pushing to Gitlab in the cloud works like a charm. And for all features I can’t remember, the ‘Command Palette’ that can be reached with Ctrl-Shift P delivered the answers I was looking for. So it looks like I’m going to stick with it.