Just to complete.
IMO, making refactoring as well as intellisense for a managed language like C# is much easier than making the same for C++.
That because for C++ it should, for example, parse tens/hundreds of header files containing tons of preprocessor definitions.