I saw a friend running Resharper for C#, and was impressed with a few specific features. Does anyone know of some good similar productivity tools for C++?

In particular, the ability to mark a block of code and split it out to a new function, taking all relevant local variables and parameters along with it. This is something that can be very time consuming, but is essentially a mechanical and logical process.

Would also be nice to have an Intellisense/autocomplete/go-to-definition that actually works.