on
Choosing a new editor
At the moment I use Visual Studio Code as my main editor. The regular code completion is good, the integration with GCC and CLANG is excellent and there are many plugins/extensions that add all kinds of features.
Lately, however, VSCode has become slow – there is a very noticable and unacceptable lag when writing C++ code. In addition, Microsoft have been pushing their AI junk into the editor in the form of Copilot. I’d rather write my own bugs, thank you very much. It is also unlcear if VSCode sends code back to Microsoft. As my work often entails NDAs, I must guarantee this does not happen. What happens under the hood in VSCode is clear as mud. Taken together, this so detrimental to my coding experience that I think it’s time to look for alternatives.
My must-have wishlist is as follows:
- Regular key bindings, none of that ‘:q!` stuff.
- Project pane.
- Integration with GDB so I can debug.
- Support for C/C++ code completion.
- No AI or other phone-home ‘features’.
- UTF-8 support.
- Reasonable pricing and no recurring fees.
- Must work on Linux.
There are some nice-to-haves too:
- Plugins/extensions for customisation.
- Scripting language for customisation.
- CMake integration.
- Git integration.
- Open source.
- Works on Windows and/or Mac.
I’ve found the following editors:
- Lazarus IDE.
- Sublime Text.
- NeoVIM.
- CodeBlocks.
- JetBrains CLion.
- Dev-C++.
- CodeLite.
- LazyVIM.
- Kate.
Lazarus IDE
Lazarus IDE is a cross-plaform editor/IDE specifically designed for the Delphi language. Unfortunately, there is no support for C++ at this time.
Sublime Text
Sublime Text is a cross-platform editor/IDE. It is not open source and requires a license: a personal license, $99 US for three years of updates. Or a business license at $65 US per seat per year. As I would need a (recurring fee) business license, Sublime Text is out.
NeoVIM
NeoVIM is a cross-platform editor/IDE. The source code can be found here. It doesn’t have a project pane out of the box, so no.
CodeBlocks
CodeBlocks is a cross-platform open source IDE. The source code can be found here. Made with wxWidgets so it as a bit of a Windows feel. This editor does not work well with existing projects: it forces its own workspace/project setup on you. This is a no-go for me.
JetBrains CLion
JetBrains CLion. Uses AI and as subscription-based pricing, so no.
Dev-C++
Dev-C++, open source, written in Delphi 6. Doesn’t run on Linux, so no.
CodeLite
CodeLite, open source, it even compiles! Made with wxWidgets so it as a bit of a Windows feel. This editor does not work well with existing projects: it forces its own workspace/project setup on you. This is a no-go for me.
LazyVIM
LazyVIM. Modal editing !?!. Nope.
Kate
Kate. Has a project/directory pane! Can use ‘ctagsd’ or ‘clangd’ language servers for syntax highlighting. I haven’t checked the GDB plugin yet but it looks promising.