Another ReSharper 9 EAP build: now with ReSharper C++

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:
    Extract Method refactoring in ReSharper C++
    ReSharper will then let you pick the arguments of the extracted function:
    Extract Method refactoring in ReSharper C++
    … and make the appropriate adjustments:
    Extract Method refactoring in ReSharper C++
  • Type Hierarchy — this window shows you a tree representation of all the types in a particular inheritance hierarchy:
    Type Hierarchy window in ReSharper C++
  • Improved Code Completion — plenty of improvements here; for example, enum members taken from a different namespace are shown in code completion:
    Code Completion in ReSharper C++
    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:
    Code Completion in ReSharper C++
    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:
    Code Completion in ReSharper C++
  • Typedef Substitutions let you leverage ReSharper’s power to perform in-place resolution on types and simplify them:
    Typedef Substitutions in ReSharper C++
  • Support for Calling Conventions — ReSharper now has proper handling of calling conventions and correctly recognizes usage scenarios, such as e.g. the use of Boost.Bind with BOOST_BIND_ENABLE_STDCALL
  • Improved Code Generation for Template Classes — for example, in this scenario
    Code Generation for Template Classes in ReSharper C++
    the code generator for the constructor of Y looks like this:
    Code Generation for Template Classes in ReSharper C++
    and the generated code for these options looks like this:
    Code Generation for Template Classes in ReSharper C++
  • Go to Declaration now works on variables declared with the auto keyword.
  • Improved Member Resolution with support for template types in some scenarios:
    Member Resolution in ReSharper C++
  • 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.

This entry was posted in How-To's and tagged , , . Bookmark the permalink.

11 Responses to Another ReSharper 9 EAP build: now with ReSharper C++

  1. I have two questions for you guys.

    1) Does this EAP fix any of the known C++ issues from the previous EAPs detailed here? https://www.jetbrains.com/resharper/features/cpp.html

    2) Any idea/word how the licensing will work? If I have an existing ReSharper subscription, what will the price/process be to add C++ support to my license?

    • Dmitri Nesteruk says:

      The issues outlined on the page are still largely in place. Needless to say, we are working to alleviate as many of them as possible.

      As to licensing, we plan to offer different options for upgrading and transitioning between editions. We plan to publish a blog post that will explain in detail the mechanics of licensing with respect to the C++ edition.

  2. Is support for ATL and MFC planned for RePlusPlus 9?

    • Dmitri Nesteruk says:

      At the moment we’re focusing on supporting the language itself, including various compiler extensions and peculiarities. Once we get that sorted, we shall of course begin looking at specific frameworks. If there’s a particular feature that you need, please feel free to post a request on our issue tracker.

  3. Pingback: The Morning Brew - Chris Alcock » The Morning Brew #1726

  4. Pingback: Dew Drop – October 30, 2014 (#1888) | Morning Dew

  5. John Richardson says:

    ReSharper C++ is a great product. I’ve already switched to it full time. The competition doesn’t come close.

    With regards to it being a separate product. When I installed the first EAP it forced me to uninstall my RS7 C# Edition. That’s fine for now as I’m not using C# on my current projects. But can you confirm whether it will be possible to run older editions of C# side-by-side with the new C++ ReSharper or whether I will need to buy a new C# licence as well as a C++ licence.

    • Jura Gorohovsky says:

      I think you could install earlier ReSharper C++ builds in a separate hive as described here in order to have R#7 available as well. However recent ReSharper C++ builds are based on ReSharper 9 platform which conflicts with all earlier ReSharper versions, which makes it impossible to have both ReSharper 7 and ReSharper C++ installed in a single Visual Studio version.

      I think if you’re going to work with both C# and C++ projects in one version of Visual Studio, then the best option for you would be to upgrade your ReSharper 7 license to ReSharper Ultimate instead of purchasing a separate license to ReSharper C++. For a preview of ReSharper Ultimate and other changes in our product line, please see this blog post.

  6. Ilya Chernomordik says:

    What about the licensing for 9 EAP? I have installed it and it seems to work fine, but I had to do the evaluation (30 days) as there were no other options available. How can I buy it after 30 days as it’s not even released yet (and is there any release date available or at least an estimate)?

    • Jura Gorohovsky says:

      Ilya, you can’t buy a license so far but we try to release new EAP builds at least every 30 days so that each next EAP reset the evaluation back to 30 days. This is how most of our EAP programs work.

      The current estimate for final release of ReSharper C++ is early 2015 (I’d say February or March.) The traditional ReSharper will be released earlier but note that they will require separate licenses, or alternatively, you’ll be able to purchase a ReSharper Ultimate license to use both + dotCover, dotTrace and dotMemory. Please see this blog post for details on licensing.

  7. Nick Smith says:

    Hello, after last update my resharper do not saw my external dependencies. Can i manually set external dependencies for resharper?

Leave a Reply

Your email address will not be published. Required fields are marked *