unless I'm missing something, there are no good
cross platform IDEs for C/C++
For C++ there are no good IDEs period.Not only are the IDEs buggy, not knowing what to do on even simple cases of auto-completion, but working on huge code-bases like that of Firefox is completely unfeasible, unless you deactivate all features that you'd expect from an IDE, which is why many people working on such huge code bases are better off with simple text editors, such as Vim and there are Vim/Emacs enthusiasts even on the Visual Studio team, which says a lot.
Also, when comparing XCode to Visual Studio, well Visual Studio at least runs on more than 90% of all desktops / laptops out there. And you are allowed to install Windows in VMWare or other virtualization tools. And so you can do development in Visual Studio even if you are on OS X or on Linux, granted with some hoops along the way, but it is doable. AFAIK you are disallowed by the license of OS X to install it as a virtual machine and even if possible, companies such as VMWare / Oracle / Microsoft don't even make attempts at fixing the problems with OS X, as that's not a use-case they can support.
At least many of the underlying XCode tools
uses are cross-platform (clang, git, ...)
Visual Studio has one of the most potent plugins ecosystems out there.There is Git integration with Visual Studio available: http://gitscc.codeplex.com/ ; Also, you can build your Visual Studio projects with GCC or clang for example. There's even commercial support available for debugging with GDB: http://www.wingdb.com/
That changed with OS X Lion - you're now allowed to run it in a VM, and the various VM providers have support pages about it:
http://kb.vmware.com/selfservice/microsites/search.do?langua...
Great!
I challenge you to try KDevelop, which likely has the most complete C++ parser outside gcc, clang and EDG, and uses it to great effect for things like semantic syntax highlighting, smart code-completion and useful information tooltips, plus other features. It also does reasonably well on large codebases like its own, or kdelibs, or Qt - or all of those within the same session, for that matter.
Its development version also has respectable C++11 support that is probably second only to gcc.
edit: it's also easy to load a windows VM on pretty much any other platform and develop for windows, if that's what you're after. full-screen 2560x1440 virtualbox windows VM performance is actually quite nice.
if i want to use my linux laptop to develop for OSX, I am violating Apple's EULA by having a hackintosh virtualbox image. though it does work pretty well, i'd rather not have to deal with it. but i guess this is a bit off-topic.
your point is a good one. but, i guess what i'm getting at is that if i'm doing windows or linux development, i have many choices about what my hardware can be. with apple development, officially, i have only one choice: apple hardware.
IMHO it is the best there is for Linux, and better for C++ than XCode.