Eclipse

Eclipse is a modular IDE which makes it much easier to write your code. It offers code completion and on the fly error checking. What makes it so special is that you can change it to make it more suitable for whatever it is that your working on, and in this case we can get it to handle all of our code for the Arduino through the use of a couple of key plugins.

There are two different ways we can choose to use eclipse, we can simply get it to provide some syntax highlighting and interface with version control, or we can get it to actually compile the code and upload it straight to the Arduino.

The benefit of the latter approach is that you get far more than just syntax highlighting, you actually get code completion and validation, plus you get to see how the code is actually being compiled. You also get access to the core Arduino libraries without any fuss in case you need to check something.

In this page I will only be talking about how to set-up eclipse as a full on replacement for the Arduino IDE. There are some very complicated instructions to do this all over the net, but I will simply walk you through the steps that made it work for me, since I was able to reproduce it on different computers.

How this is going to work
We are now leaving the Arduino IDE behind completely and this is going to change the way that we do things. First a quick mention of how Arduino was building things.

The Arduino Build Process is documented here, http://www.arduino.cc/en/Hacking/BuildProcess. Notice that it was doing a lot of stuff in the background. Every-time it did a build, it was copying and pasting your code into a pre-made main.cpp file and then going through the compile process.

All of the tabs that open on the Arduino IDE are actually just copy and pasted together during the build, essentially it's just one long file.

So when we use the eclipse IDE we are going to set it up to call all of the commands to build all of the libraries and our source code. We won't call the command ourselves, we will use a plugin that takes care of all the details.

If you follow the instructions on this git repo exactly it will work, though you might want to read below so you know what it is that your doing.

https://github.com/allgood38/Arduino-Blink-Eclipse-Project

You are importing two eclipse projects that already have all the right settings filled in. This is great since all the other tutorials get really complicated when they attempt to walk you through it themselves. The only settings which are not filled in have to do with the exact arduino board and the serial port that you are using, these details are filled in through creating a new "Programmer" under the project preferences, as outline in the repo.

You will be compiling a project called Arduino Core, which contains all the Arduino Libraries, plus a compiled static library which is needed for some reason. All future projects need to reference these libraries, the second project imported called Blink, has all of this set-up already.

Contact Steve if you need any help setting this up, bring your laptop to the software meetings if you need any help.

Using Version Control
You can use version control within eclipse using a plugin, here is the guide written beforehand Eclipse_with_Mercurial_Plugin.