We’ve already hinted before at the fact that ReSharper for C++ Early Access Program went public. In the second ReSharper 9 EAP build we’ve added dotPeek to the install bundle, and in this latest EAP, ReSharper for C++ is also available for installation. Now, we’ve already had several separate builds of R# with C++ support, so this post covers the new, never-before-seen features that are making their appearance in this EAP.
Important note: Please be aware that the C++ support in ReSharper will constitute a separate product rather than simply an add-on to the existing ReSharper features.
- Extract Method — this refactoring lets you factor out a part of a complicated function into a separate function. Simply pick the part of code that you want to extract:
ReSharper will then let you pick the arguments of the extracted function:
… and make the appropriate adjustments:
- Type Hierarchy — this window shows you a tree representation of all the types in a particular inheritance hierarchy:
- Improved Code Completion — plenty of improvements here; for example, enum members taken from a different namespace are shown in code completion:
Or here’s another example. Say, you have a member function declaration. If you try to call it on the object, you’ll get the following completion list:
This is an example of generative completion — after you pick the top option, ReSharper will generate the following piece of code at the caret position:
- Typedef Substitutions let you leverage ReSharper’s power to perform in-place resolution on types and simplify them:
- Support for Calling Conventions — ReSharper now has proper handling of calling conventions and correctly recognizes usage scenarios, such as e.g. the use of
- Improved Code Generation for Template Classes — for example, in this scenario
the code generator for the constructor of
Ylooks like this:
and the generated code for these options looks like this:
- Go to Declaration now works on variables declared with the
- Improved Member Resolution with support for template types in some scenarios:
- Memory Usage has been reduced by up to one third in some scenarios.
As you may have guessed, there are plenty of other improvements in ReSharper C++ EAP. So, if you’re interested in seeing all these features in action, you know what to do – grab the EAP and give them a go!
Note that apart from an updated ReSharper C++ EAP, the latest EAP build contains a set of fixes for ReSharper 9 EAP.