ReSharper to Support C++

Jura Gorohovsky

You already know that we have been working on ReSharper 8 for quite a while, improving navigation, extending the scope of XAML support and introducing a project dependency viewer, among a plethora of other improvements.

We’re setting our sights beyond the immediate 8.0 release though: for several months now, a part of the team has been working on something entirely new yet requested for a couple of years already: support for C++ in Visual Studio.

This is a part of a wider plan to make C++ a first-class citizen of JetBrains tools, along with the intent to come up with a cross-platform C++ IDE announced earlier this year.

C++ is a very powerful and flexible language that has never really went away despite the rise and fame of its inheritors such as C# and Java: there’s a lot of code being written today in C++ and will continue this way for years to come. At JetBrains we feel that many developers using C++ could benefit from some of the tooling that we provide for other languages.

The feature set

C++ is not an easy language to write a parser for, taking into account the preprocessing and resolving necessary, especially when it comes to parsing complex and large code bases. Our biggest goal was and is to perfect this and a lot of effort has gone into it. As such, right now many of the more visible features aren’t there but much of the ground work is done. Right now, internal builds that are being cooked here on the .NET team in JetBrains include:

  • First and foremost, ReSharper-style syntax highlighting.
  • The full stack of context-insensitive navigation including Go to Type, Go to Symbol, Go to File Member and of course the new Go to Everything from ReSharper 8.
  • Context-sensitive navigation including Go to Declaration, Derived Symbols, Base Symbols: all the major features that you’d expect to see when you open ReSharper’s Navigate To menu:
    ReSharper's Navigate To options for C++
  • We also have Find Usages with preview, occurrence filters, different kinds of grouping and everything else that is inherent to ReSharper’s Find Results window.
  • Gutter marks in ReSharper 8’s new action indicator to keep track of inheritance and navigate between hierarchy nodes:
    Gutter marks for C++ inheritance
  • Introduce Variable refactoring:
    ReSharper's Introduce Variable for C++
  • Context actions to substitute macro calls, individual ones as well as nested calls:
    ReSharper's context actions to substitute a single macro call or all nested calls
  • Understanding of templates which enables ReSharper to correctly resolve different template specializations and navigate between them:
    Navigation to C++ template specializations in ReSharper

To give you a better idea of what’s going on, watch the following introductory video:

How can you play with it?

As of now, we don’t have any early builds for you to play with, and the current ReSharper 8 EAP doesn’t include C++ support. We’ll need a few more months to be able to come up with anything public. If you’re impatient, here’s what you can do:

  • Go to C++ support page on the ReSharper web site.
  • Fill in the form specifying C++ language versions, libraries and extensions that you’re using and more relevant information about your C++ development experience. Apologies for making the form a bit lengthy but we’re not collecting this data just for the sake of it.
  • Submit the form to subscribe to private builds of ReSharper with C++ support. As soon as we have a private build that we expect to work in your development environment, we’ll send you an e-mail with a link to that build.

What’s next?

  • First of all, we should emphasize again that C++ support is not going to be a part of ReSharper 8.0 because it’s still very far from production quality.
  • In the coming months, the ReSharper team will be improving C++ support internally in order to eventually come up with a public EAP sometime in the Fall this year. As new language versions and extensions, as well as Visual Studio versions are supported and stability grows, we’ll be sending out private builds to those who have subscribed to receive them.
  • Right now, we’re more or less done with support for С/С++03 with small to medium solutions that don’t use libraries at all or use small libraries. The current development roadmap for the next several months is the following:
    • Support small to medium solutions that use larger libraries including Boost
    • Support С++11
    • Ensure adequate stability with large solutions
    • Support VS-specific extensions and MFC/ATL/WTL
  • As soon as we’re ready to make things public, we’ll open the Early Access Program for C++ support and following the public testing we’ll merge C++ support into the main ReSharper code base so that it becomes a part of ReSharper Full Edition.

Are you excited? Have you been waiting for this for a long time? Subscribe to receive private ReSharper builds with C++ support and by playing with them as they come, help us roll this major part of ReSharper out to the public quicker. In addition, feel free to share your thoughts on the scope of C++ support required for you and specific features you’d like to see right here in comments to this post.

Comments below can no longer be edited.

63 Responses to ReSharper to Support C++

  1. Ahmad says:

    June 26, 2013

    just curious, was there some collaboration between Appcode and Resharper team for c++ support?

  2. Jura Gorohovsky says:

    June 26, 2013

    @Ahman Yes, actually some developers are shared between the two projects.

  3. Anton says:

    June 26, 2013

    The form isnt submitting for me. Just scrolls up a bit every time I click the button. All fields filled and tried in multiple browsers.

  4. Omer Mor says:

    June 26, 2013

    +1 on form submitting bug.

  5. pjmlp says:

    June 26, 2013

    Just to congratulate the team to get this work done and contributing to improving the quality of the tools available to C++ developers.

  6. Jason says:

    June 27, 2013

    This is quite awesome.

    I’m curious what the size of a small to medium project could be described as (I assume number of files/lines of code)?

    Also, any chance there will be support for C++/CLI?

  7. Chris says:

    June 27, 2013

    Awesome! Been wanting this for a long time.

  8. micha says:

    June 27, 2013

    @Jason <1Mb or <100 files is small project for us. Yes, we plan to support c++/cli in future. But probably not in first version.

  9. Jura Gorohovsky says:

    June 27, 2013

    @Anton, @Omer
    There seems to be a bug in the form that affects a part of those trying to submit. Sorry, we’re trying to sort out what’s happening.

  10. Jura Gorohovsky says:

    June 27, 2013

    @Anton, @Omer
    Seems like we’ve fixed the problem (which was apparently related to selecting “C” in the list of language version).
    Can you please try fill in the form again? Thanks

  11. Bk says:

    June 27, 2013

    Love the new “substite macro” feature. Is there also a “substite correct spelling” feature? Now THAT would be handy 🙂

  12. Jura Gorohovsky says:

    June 27, 2013

    You got us ) Now you have the secret knowledge of one of the reasons why we don’t give out public builds so far

  13. C. Taylor says:

    June 27, 2013

    Wow! Adding Resharper to Visual C++ will make the platform work-able. I recently abandoned a C++/CX project for C# because I couldn’t live without Resharper. THe process of creating classes, refactoring and header files is so time consuming especially since I’ve been spoiled with Resharper on C# for years now. However, C++/CX with its adoption of C++11 has made C++ very attractive. Now with Resharper I look forward to being productive with C++ as well!
    Thank you!

  14. fridge says:

    June 27, 2013

    Finally, it’s on the horizon. I’ve been waiting for such a tool for eons!

  15. Gleb says:

    June 27, 2013

    That’s awesome news!
    Is other Resharper goodness planned to be supported (more complex refactorings, code formatting)?

  16. Jura Gorohovsky says:

    June 28, 2013

    Sure. Which refactorings are you looking for in the first place?

  17. says:

    June 28, 2013

    We have one file that is 33k SLOC, one file that is 24K, and two functions that are 9k+ SLOC.

    It’s a legacy C++ application, I hope I can lean on RePlusPlusser to help me with those sorts of files/functions.

    Also if you could make a R++ Resource Editor and Dialog Editor (or extensions to the existing ones?) that make native Win32 programming a bit less of a chore, that would be amazing.

  18. ticktock says:

    June 28, 2013

    Curious – are you using CLang and the AST to do this?

  19. Omer Mor says:

    June 29, 2013

    Thanks for fixing the form. Submitted!

  20. John Schroedl says:

    July 19, 2013

    Excellent! I look forward to using this and will try to get in on the private beta cycle if it’s still open.

    Also, please add a few more votes for C++/CLI from my team. That support would mean an easy sell for us.

  21. Andrew Burnett-Thompson says:

    July 31, 2013

    Wow, yes please – Resharper & C++ will be great. Also looking forward to cross-platform C++ IDE.

    Now, if only you could build a cross-platform WPF/C# API and I think you’re on to a winner 🙂

  22. Joao says:

    August 8, 2013

    Another vote for C++/CLI from me.

  23. David Champion says:

    August 23, 2013

    Would really like to see Resharper for Oxygene language

  24. jixiangqd says:

    October 18, 2013

    When will you make a release on this?I’m really excited about this. But as so long time no updated, I wonder if this project still in active.

  25. Jura Gorohovsky says:

    October 18, 2013

    @jixiangqd Rest assured it’s active and the team is working hard to have a build that’s worth showing as private EAP. We had hoped ourselves that it would take a bit less time between announcement and build availability but apparently the early development process has turned out as tricky as the language itself.

  26. tivadj says:

    October 21, 2013

    Is there plans for providing plugin framework for your tool? What language it would be in?

  27. Jura Gorohovsky says:

    October 21, 2013

    @tivadj Yes, definitely, C++ support will be extensible as part of ReSharper extensibility, and you’ll be able to use any .NET language to write extensions.

  28. douga says:

    October 28, 2013

    Any news on the public EAP for c++ in resharper?

  29. douga says:

    October 28, 2013

    Any news on public EAP?

  30. Jura Gorohovsky says:

    October 28, 2013

    @douga We’re not ready for public EAP yet but private is underway.

  31. JayKay says:

    November 17, 2013

    If anything makes me buy VS for myself, this plugin will do it. I hope it comes out soon.

  32. Jura Gorohovsky says:

    November 17, 2013

    A dedicated C++ IDE which is also in the works could be a better fit for you (no need to buy VS in this case)

  33. JayKay says:

    November 18, 2013

    The features on that IDE look very nice. If there is a way of getting projects out of VS and into it, I will be very interested. CMake and I are not good friends unfortunately.

  34. Russ Weston says:

    December 14, 2013

    FYI – We love/use Resharper for are C# code, but like most shops we have many lines of C++ code. In our shop it is a 70/30 ratio of C++/C#. The C++ code originated in Quick C 6.0, but through the years we migrated to Borland/Imprise/Code/Embarcadero C++ Builder. We don’t have any short term plans to migrate to something else.

    That being said, is there any plans for ReSharper to support other C++ ides?


  35. Jura Gorohovsky says:

    December 17, 2013

    There are unfortunately no plans to support any IDEs other than Visual Studio.
    JetBrains are going to provide C++ support via ReSharper and via a separate, IntelliJ IDEA-based C++ IDE that is a different project and is also in the stage of private EAP.

  36. tivadj says:

    December 17, 2013

    Jura, just to clarify, by ‘different project’, do you mean that these two projects do not share common source?

  37. Jura Gorohovsky says:

    December 17, 2013

    AFAIK this is correct.

  38. Dave Harris says:

    December 18, 2013

    Is there any way to extend the C++ EAP trial? Mine has expired. You get kind of used to the find usages feature correctly restricting to the class instead of whole solution 🙂

  39. Jura Gorohovsky says:

    December 18, 2013

    There’s currently no way to do that. However, which build are you on?
    The latest built has been sent out in late November as far as I recall, and it should be working at this point.

  40. Jason says:

    January 9, 2014

    We have several mixed C# and C++\Cli projects. Since using resharper the C# projects are getting all of the love. Would love to bring the same to C++\Cli.

  41. Tariq says:

    February 14, 2014

    Submit button for c++ is not working. I am unable to submit the form


    • Jura Gorohovsky says:

      February 14, 2014

      Unfortunately I was unable to reproduce the problem. It could however related to the browser you’re using and specific options that you’re selecting in the form. If you let me know more details about your browser and selected options, we can try reproduce and hopefully fix the problem.
      Thank you

  42. Marco says:

    February 14, 2014

    Is there a time estimate on when the support for C++ will be usable in Visual Studio with resharper? (perhaps beta access?)

    • Jura Gorohovsky says:

      February 14, 2014

      Can you please clarify what you mean when you say “usable”? Did you receive the private builds but found them unusable, or are you waiting for public builds of any quality instead?

      • Marco says:

        February 17, 2014

        I did not receive any private builds, I’ve been in touch with the sales support and they tell me that there is nog info yet about these builds. Now I hear they are available?

        I would really like to test these private builds of Resharper.

  43. Marco says:

    February 14, 2014

    I did not receive any private builds, I’ve been in touch with the sales support and they tell me that there is nog info yet about these builds. Now I hear they are available?

    I would really like to test these private builds of Resharper.

    • Jura Gorohovsky says:

      February 21, 2014

      Marco, if you’re subscribed to the private EAP but you haven’t received any builds, it means that something in your dev setup is not supported in the builds that we’ve made available to subscribers so far.
      At this point the only thing that I can suggest is that you wait until this changes.
      We’re also thinking about making the EAP public but that alone wouldn’t make the builds compatible with your environment (

  44. Dave Harris says:

    February 27, 2014

    Are there going to be any more private builds for the C++ resharper? 8.1.1000.329 has expired on my machine, and I’ve not seen a newer one come through. If not, is there a way to extend it until it comes out for sale?


    • Jura Gorohovsky says:

      February 28, 2014

      Dave, we’ve made the Early Access Program public a few days ago and published a new build: see

      • Dave Harris says:

        March 5, 2014

        Thanks for the info. It and the March 4 updates no longer work best I can tell. It appears to ignore CPP files. No navigation, info/warning/error strip, refactoring, etc. Is there a setting somewhere that might be shutting it all down?

        • Jura Gorohovsky says:

          March 5, 2014

          Dave, what number does your build have and where did you take the build from?
          My guess is that you’ve downloaded a build from the regular ReSharper 8.2 EAP, not from ReSharper C++ EAP. Could this be the case?

          • Dave Harris says:

            March 5, 2014

            Looks like it. Thanks, I will give the other a try.

  45. Darren Evans says:

    July 6, 2014

    Quite an undertaking considering the swath of changes being made by the ISO C++ Committee as the standard progresses through C++11, C++14 and onto C++17 🙂

    • Stian says:

      September 11, 2014

      Indeed, c++17 is already here. Same goes for C# aswell, rumors says that vs14 won’t be supported until version 9. Is this correct?

  46. Stian says:

    September 11, 2014

    Excelent! 🙂

  47. Magnus says:

    November 21, 2014

    Really excited to try ReSharper C ++.
    Unfortunately, our project uses MFC, so I have unfortunately not had the opportunity to test the EAP yet.
    How much more time do I have to wait before the EAP has support for MFC?

    • Jura Gorohovsky says:

      November 21, 2014

      Magnus, in fact, latest EAP builds of ReSharper should already support MFC. It’s probably time for download and give them a try. Note that since the EAP is common for all .NET tools, there’s no separate deliverable for ReSharper C++: you’re supposed to download the ReSharper (.exe) intaller or the Web Installer, then launch it and select which products you want to install, and ReSharper C++ will be one of the options presented. Also note that if you’re using the mainline ReSharper 8.x or earlier in the same version of Visual Studio where you’re going to install ReSharper C++ EAP, the former will be most probably removed.

  48. Michel R. says:

    April 9, 2015

    Add another vote for C++/CLI… 🙂

  49. Pavol G says:

    April 29, 2015

    Also would love to have it for C++/CLI

  50. Obi111 says:

    November 26, 2015

    Here is another vote for C++/CLI!! please please 😉

  51. Sachith says:

    February 23, 2016

    is there any video tutorial for Visual studio 2015?
    because most of the shortcuts are not working as mentioned in most of those blogs and videos.

    i am facing a huge trouble there. And also, is there a way to change navigation shortcuts per users wish.?

  52. Martin Dobšík says:

    June 21, 2016

    C++/CLI please.


Subscribe to .NET Tools updates