Big shoutout to PlatformIO; these guys make Arduino (and other) board development much more accessible!
I use with CLion for my C/C++ development, and it's hands down a better experience than using the native IDEs.
Here is an excellent tutorial for getting PlatformIO working with CLion: https://docs.platformio.org/en/latest/integration/ide/clion.html.
One hint that's not in the tutorial is to store your project's build/deploy configurations for better portability.