You could also just use the command line and write your own makefiles.
That's what I do but then I don't use Windows and like to do automated builds.
I find that using GUIs and IDEs for embedded development projects
often just get in the way and have limitations because
they try to make things simpler, often at the expense of hiding things or eliminating
capabilities.
The other nice thing about using the command line tools and make is that the same
working environment and development process
works across many different platforms, OS's and cpus if you use the gnu tools.
Many of the IDEs lock you into their tools and their way of doing thing and sometimes
only work on a particular host OS.
This means that if you need to change target processors, target environments
or host development platforms, it often means having to learn an entirely
new IDE and toolset.
--- bill