Which IDE to use is a popular question. This is a solution to which I like to point. PlatformIO is not Arduino centric and brings to the table a much more advanced editor/IDE for coders. And yet will little learning curve. All of your popular boards and microcontrollers are supported. It will even install and maintain compilers, frameworks, and libraries for you.
As I’ve been playing with ESP8266s (ESP32s in the near future), I tend to not use Atom (I’m an Emacs guy) but I do still use the PlatformIO command line tools (platformio aka pio). Best of all, for microcontrollers which support it, such as the ESP8266, you can do Over The Air updates (OTA) without a serial connection. This is supported both within the IDE and the command line tools.
So if you’re looking for a nice, one stop, tool for your needs, definitely check it out. You’ll never want to go back to the Arduino processing environment.