Arduino in Eclipse IDE - Sloeber
Arduino IDE may not be comfortable for all of makers. Is a lot alternatives to Arduino IDE like Visual Studio, Codebender a another.
I think that Eclipse has one of the best editor for writing of codes. Arduino IDE has not so much options.

I wrote a news about Programino IDE here, and created video on youtube.

I was looking for Arduino IDE based on Eclipse and I found Sloeber - the Eclipse Arduino IDE.

The latest version is v4.1.

The installation is very simple and quick, you download only installation package - for 32bit or 64bit system, for Linux/Windows/Mac OS and then you execute installation file. That's all.

You can download only plugin to your installed Eclipse.

After start you see Project Explorer, click right button on mouse, choose "New", "Arduino bookmark" and choose "New Arduino Sketch".

In next window you choose your Arduino board, port and type of microcontroller. You can also set Upload Protocol like: ArduinoISP, AVRISP, UsbASP and another programmers.
You can choose a lot of types of Arduino boards.

If your Arduino boards isn't in choice, you have to add library. That's very easy.
Example for ESP822, NodeMCU:
- download esp8266 package from github -
- unzip and copy that to: \sloeber\arduinoPlugin\packages\arduino\hardware\
- sloeber automatically reload the choice of boards with boards.txt
- setting of new project is the same up to choice of boards. In this step you have to choose different boards.txt file from the menu (it mean from menu of arduino boards). Then, you see next settings for your arduino board (Flash Mode, Flash Frequency, CPU Frequency and another).

In the last step, you are asked if you want to make cpp project, ino project or use example.

And then you see Arduino sketch.

In the left top corner you see icons for build, upload, opening serial monitor and opening scope feature.

Your libraries you can save to arduino library folder in home folder.

What are advantages of this using? The main advantage is very comfortable editor of codes. You can easily switch between functions, list of functions in tree view and another features. Of course, you can multicore compile.

Website of project: