A few years ago, when I was programming a project in C++, I've used VIM as my primary IDE.
Not satisfied with the long compilation times, I built a Perl script that scanned all the source files for modifications every two seconds. And as soon a modified file was detected, the makefile was run to build the final product.
The output of the build process was displayed on a second monitor and the errors, file names and line number were highlighted.
So every time I saved a file inside VIM, the compiler built the whole project and presented the errors on a second monitor. That led to a secondary feedback loop that constantly reflected back all the remaining errors in my code and – more importantly – made the compilation times completely disappear from my workflow.
Though Visual Studio's intellisense is pretty good and even shows some errors while you type, I sometimes miss automatic background compilation.