Whenever I program an Arduino based project I would always use Sublime Text as my editor then compile and upload using the Arduino IDE. I prefer using Sublime Text as my Arduino Sketch editor as it gives more flexibility on color highlighting.
This post is a tutorial on how to use Sublime Text as an External Editor. It also answers the why, advantages and disadvantages of using External Editor.
In case you prefer to use Atom Text Editor than Sublime Text then you may still do so by opening your code on Atom Text Editor.
I have always preferred developing in Sublime Text especially for Arduino Projects since the syntax highlighting is better than doing it in Arduino IDE. Unfortunately, it is annoying to keep opening .ino files on Sublime Text then set the syntax highlighting to C++ (.cpp) on each file.
Luckily, there is a way to do this automatically so that whenever I open a .ino file it will always open with a C++ syntax highlighting in Sublime Text. Below are the steps on how I did it.
Note: My Sublime Text is configured to use the Color Scheme named Sixteen.
As of writing the latest Arduino IDE is 1.8.5. I prefer to download the non-install version (160 MB download). Just unzip on your preferred location on your drive, run the arduino.exe and wait for the Arduino IDE to initialize.