+5  A: 

I'm not sure why it is like this, but third-party tools exist that help. For example, right now I'm evaluating Visual Assist X (by Whole Tomato). We're also using Visual Studio 2005.

Brian
Visual Assist X is pretty good and typically does the job pretty well. However, if you get all template meta-programy on it it can throw up its hands on some of your code.
Doug T.
That's true. I've noticed it doesn't handle more than a few layers of templates very well (like when working with Boost).
Brian
+3  A: 

Don't feel hard-done-by, it isn't available in VB.Net either :)

C++ is a HARD language to parse compared with C# (VB too unless you've "Option Explicit" and "Option Strict" switched on, it's difficult to tell exactly what any line of code is doing out of a MUCH larger context).

At a guess it could have something to do with the "difficulty" of providing it.

P.S. I marked my answer as community wiki because I know it's not providing any useful information.

Binary Worrier
+6  A: 

The syntax and semantics of C++ make it incredibly difficult to correctly implement refactoring functionality. It's possible to implement something relatively simple to cover 90% of the cases, but in the remaining 10% of cases that simple solution will horribly break your code by changing things you never wanted to change.

Read http://yosefk.com/c++fqa/defective.html#defect-8 for a brief discussion of the difficulties that any refactoring code in C++ has to deal with.

Microsoft has evidently decided to punt on this particular feature for C++, leaving it up to third-party developers to do what they can.

JSBangs
+1: Excellent link, have it book marked, thanks.
Binary Worrier
+3  A: 

devexpress provides Add-in Refactor! for C++ for VS2005 and VS2008.

mem64k
+1  A: 

I've been using Visual Assistant X with visual studio for about one year and a half. It's an incredible tool that helps you a lot with ordinary C++ code, but it doesn't perform very well on templated code. For instance, you if have a sophisticated policy-based template design, it won't know how to rename your variables, and the project won't compile anymore.

livghe