Ok ok ok…. I know… I’ve written about this topic more than once. I’ve used a number of IDEs, editors, etc for Arduino and other embedded board development and then about a year or 2 ago I stumbled on PlatformIO. If you are not already familiar with it, then GO GET familiar. Basically, it’s a few Atom plugins with some underpinnings that provides not only all the stuff you would expect from an Arduino IDE (terminal, upload, compile, serial monitor, etc), but also provides support for a ton of other boards (like over 400 embedded boards) its own project and package management system, plus since it’s combined with Atom, you get all the nice features of Atom itself. And like Atom, PlatformIO is *cross-platform*. I’ve personally used it on Linux, MacOS, and Windows. Setup is relatively simple and you can even write and publish your own libraries, which other users can then access via the library manager (either via the registry, the command line, or built-in GUI).
I’ve even used it to write stuff for the Raspberry Pi. As far as I’m concerned, this is the only embedded IDE I need.