Or, you can ditch the Arduino IDE entirely, and utilize eclipse. There are a few tutorials out there showing how to do this. This gives you everything standard eclipse C/C++ development has, plus the ability to right click and deploy to the arduino with AVRDude. I actually compile the arduino libraries as a seperate project, and only use them if I want something they offer for the project. The arduinos themselves do not require the use of these libraries.
I am developing a project where I currently am creating embedded control devices for a large number of things at my house ( thermostat, power meter, pellet smoker, etc. ). The entire server/front end is written in Java on a J2EE stack communicating with an XBee network with JSF/Primefaces as the front end. The embedded devices running the end devices are programmed in C/C++ right alongside the standard eclipse JBoss stuff. All of it is resource controlled with GIT. Doesn't sound like the Arduino is holding back my development environment at all....
The Arduino IDE is to get people started. Nothing about the Arduiono hardware devices require you to use it, or be held back by it. They are a great prototyping environment that is easy to build to.