I have struggled a little to find an IDE I was OK with, but finally settled with STCubeIDE or Eclipse as it actually is. This is IMO one of the smarter moves that ST have done to support their MCU’s. The editor is “ok”, it compiles, download allow you to debug multiple targets + I get a more familiar feeling with the dark theme. It is load of eclipse add-on’s I have not tested, but I downloaded PyDev and can develope both Python 3.7 and 2.7 in parallell With full debugger support. The later is developed by a single developer who deserve credits for hes work, and it demonstrate one good argument to use Eclipse as base. As for Python the less I have to use that Language the better, but PyDev actually took most of the pain away.
It is still a few tricks using STCubeIDE and set it up, but it is worth it. One of them is how to add existing files to a project, but True Studio (as this actually was) is a big improvement over bare eclipse.
I am also using Code::Blocks on a different project yet since colleges have selected that and that works ok as well. But, despite my disliking of Java – I actually like STCubeIDE. The best is that I don’t need to know that this is written in Java 🙂 – I can actually be an user and focus on my own tasks and productivity.
This has actually been a showstopper for SW modules on my STM32 based components and I have finally started getting my act together and make a serious move on SW. What I will be working on for some time is the Abstraction Layer (AL). I am ditching the STCubeMX and autogeneration part. I autogenerated 1 project and use it to cut & paste as I set up the proper C++ project. Currently I am working on the abstraction layer to hide the C drivers and middleware packages completely behind a proper C++ layer.
One of the features I really like is the visual memory map showing you what is using what memory. It is still a lot of extra tools in STCubeIDE that I have left to discover, but that will come with experience.
I also tried setting up Visual Studio Code, but aborted simply because it is more an advanced editor than a proper IDE.