Dotnet logo

The .NET Tools Blog

Essential productivity kit for .NET developers

How-To's

ReSharper 2017.3 brings the debugger into the editor

While debugging, we often have to work with lots of information. We have the autos, locals and watches tool window to look at, code in our editor, … This overdose of information and switching between looking at code and at tool windows often messes with the mental context of the debugging session in our brains.

No more! With ReSharper 2017.3 EAP, we are proud to bring one of Rider’s features into Visual Studio: local variables, current line expressions and function returns are now displayed inside the editor! On top of that, we’re adding searchable DataTips!
Display variables from debugger in the editor

Instead of having to switch between looking at variables in a tool window, we can now see the content of local variables, current line expressions and function return values inline in the editor.

ReSharper visualizes values based on the information it has available. When a class is annotated with the DebuggerDisplayAttribute attribute, ReSharper will use it instead. So for example if we add a DebuggerDisplay attribute to a Person class, we can have ReSharper visualize our type based on some of its properties:
Using DebuggerDisplay attribute to specify how ReSharper visualizes variable in editor

Keep in mind that Rider‘s debugger provides very similar features – check out our series about Rider’s debugger to learn more!

Using ReSharper DataTips

ReSharper comes with its own debugger DataTips as well. We can access them by clicking the inline value display, or by replacing the Visual Studio DataTips from the ReSharper settings under Tools | Debugger:
ReSharper debugger DataTips

The ReSharper DataTips make it easier to search for a specific value. For example if we load the list of people from a file and want to check a given person is in there, we can expand the collection and then start typing to search through. Note that searching is only possible in expanded nodes.
Searchable DataTips in the debugger

Configuring ReSharper debugger tools

These new debugger tools come with several configuration options. From the ReSharper settings under Tools | Debugger, we can toggle the different elements that can be shown in the editor:
Configugre debugging tools settings

In case you prefer not to display local variables, current line expressions and function return values inline in the editor, the entire feature can be toggled under General | Product & Features, then Debugger Integration.

Download ReSharper 2017.3 EAP and give it a try! We’d love to hear your feedback on the new ReSharper debugger tools!

Comments below can no longer be edited.

57 Responses to ReSharper 2017.3 brings the debugger into the editor

  1. Avatar

    Richard Moss says:

    November 21, 2017

    That looks awesome, although I’m sure the OzCode folks are less enthusiastic. One of the reasons I love OzCode so much is it’s datatip doesn’t disappear at the drop of a hat the way Visual Studio’s do – are your improved data tips similarly minded? (I realise I could install the EAP, but I don’t like rocking my IDE’s boat so I won’t)

    Regards;
    Richard Moss

    • Avatar

      Maarten Balliauw says:

      November 21, 2017

      Visual Studio hides the datatip on mouse leave, we hide the ReSharper one on mouse click outside the datatip or when focus is lost.

      • Avatar

        Richard Moss says:

        November 22, 2017

        Awesome! Thanks for the clarification. That will make the future interesting 🙂

    • Avatar

      Marcin says:

      November 21, 2017

      I used to use and recommend OzCode, but quit when they changed the payment model. It costs pretty much the same as R# while offering a fraction of value.

      • Avatar

        Adam says:

        November 22, 2017

        I also really hate the subscription model (both ReSharper’s and OzCode’s), but I do pay for both and find OzCode does pay for itself, and just makes my life easier.

        • Avatar

          Chris Marisic says:

          November 22, 2017

          I love JetBrain’s subscriptions, best thing they ever did businesswise.

      • Avatar

        Monica Ses says:

        November 22, 2017

        OzCode has a 75% discount for Black Friday http://landing.oz-code.com/BF-sale2017

        • Avatar

          Dev says:

          November 22, 2017

          That’s for 1 year.

    • Avatar

      Adam Kruszewski says:

      November 22, 2017

      Looks quite similar to what my team have released as a free plugin on Visual Studio Marketplace: https://marketplace.visualstudio.com/items?itemName=vs-publisher-1469962.RevDeBugPrompter

      • Avatar

        Richard Moss says:

        November 23, 2017

        Looks pretty nice, definitely something I’ll give a go. I like how RevDeBug/OzCode shows values above the calculation, rather than how Resharper is shoving it off to the side – it’s much clearer and works well when you have multiple formula on a single line.

  2. Avatar

    Richard says:

    November 21, 2017

    A small typo in that last screen-shot: “funtion” should be “function”.

    (“Show funtion return values in editor”)

  3. Avatar

    Martin says:

    November 21, 2017

    This feature is awesome!
    When I first noticed it (a day before this blog)

    I was like huh? What is that? Then I realized what was going on and immediately enjoyed having this while stepping through a unit test.

    Thank you very much for this great feature!

    PS: I was so happy to have this, I showed it to my girlfriend who is not a programmer 🙂

    • Avatar

      Maarten Balliauw says:

      November 21, 2017

      Thanks for your kind words Martin!

      • Avatar

        Marcin says:

        November 21, 2017

        I installed the update today without reading the change log, and it was such a great surprise. Additional information started to appear during difficult debugging session, and it saved so much time and frustration. I think that in this particular case I wouldn’t be able to push the fix today if I hadn’t got this aid. 🙂

  4. Avatar

    Sven says:

    November 21, 2017

    Great feature! 🙂

    If you would add an on the fly possibility to mark properties you would like to use as DebuggerDisplayAttribute, like what OzCode does, you would make a lot of people happy.

    Sometimes you do not have the source code to set the DebuggerDisplayAttribute or sometimes it changes depending on what to debug what I need to see from an object without clicking through the propertylist.

    • Avatar

      Maarten Balliauw says:

      November 21, 2017

      You can right-click the property in the datatip, then “Highlight property” for one or more properties.

      Highlight property

      • Avatar

        Sven says:

        November 21, 2017

        Amazing <3

        Installing the EAP right now 🙂

  5. Avatar

    Nikolay Kostov says:

    November 21, 2017

    Hey guys, you have developed a great product which I am using for the past 8 years. I keep track of your progress and ReSharper is getting better and better.
    Can I ask you to add RSS feed for the EAP page so I can get notifications for the new versions of the product (https://www.jetbrains.com/resharper/eap/). Thank you!

    • Avatar

      Maarten Balliauw says:

      November 21, 2017

      We do not have an RSS feed currently, but you could use the Toolbox App to get the latest versions? Even different channels for stable and EAP’s: https://www.jetbrains.com/toolbox/app/

      • Avatar

        Nikolay Kostov says:

        November 22, 2017

        Thank you! Do you plan adding RSS feed on the EAP page?

        • Avatar

          Jura Gorohovsky says:

          November 22, 2017

          We’re not planning this right now, Nikolay.

  6. Avatar

    Ádám Szörényi says:

    November 21, 2017

    Amazing features, can’t wait for the stable version 🙂

  7. Avatar

    Alex says:

    November 22, 2017

    Hello! Excellent functionality! One question: how can I change the background color of the DataTip. On my theme (Dark with light editor) is not very well seen the values of variables

    • Avatar

      Maarten Balliauw says:

      November 23, 2017

      Not *yet* 🙂

      • Avatar

        Alex says:

        November 23, 2017

        It’s strange. When I change the theme, the background and text color changes. Where does this dependence come from?
        Well, if this is not possible now, this is planned in the release?

      • Avatar

        Gabriel B. says:

        February 6, 2018

        I have the same question. What is the name of the colour tag that colours the complex types, i.e. “{MemoryCache}”? I need to adjust this in my theme. I can see that strings correctly use the same colour as other strings within my theme, but the complex types use something else.

      • Avatar

        Kristoffer Dolk says:

        February 13, 2018

        Has this issue been fixed yet? I get cyan colors on white background with my settings. It’s horrible!

        We must be able to set colors of ALL new features you implement. Always have this in mind when releasing new features!

        • Avatar

          Maarten Balliauw says:

          February 19, 2018

          This will probably be in ReSharper 2018.1

          • Avatar

            Robert says:

            April 17, 2018

            2018.1 is here. Is it possible to change this color now?

            • Avatar

              Mikhail Senkov says:

              April 18, 2018

              In 2018.1 it’s possible. Use Tools|Options|Font and Colors|ReSharper Debugger DataTip

              • Avatar

                Robert says:

                April 18, 2018

                I found the option. But, the settings are not been ignored in the tooltip. Visual Studio tooltips are the correct colors, but Resharper tooltips not legible 🙁

              • Avatar

                Jake Helfert says:

                May 14, 2018

                I just installed 18.1 and it MESSED UP the colors!!!

                The datatip color option does nothing.

              • Avatar

                Maarten Balliauw says:

                May 14, 2018

                @Jake, @Robert, would you mind opening an issue on https://youtrack.jetbrains.com/issues/RSRP#newIssue ?

              • Avatar

                Vas says:

                January 21, 2019

                If you are using “Visual Studio Color Theme” editor, which you should, from the Start menu / Color Theme editor on the current theme the buttons Edit Theme/ Show All Elements
                search and find: ReSharper Debugger DataTip -> Background (& Foreground) that use Default colors which interacts with the Visual Studio’s by overriding overlapping settings options.
                So the trick is (that I found so far with a Dark theme) to set the Visual Studio option at
                Tools|Options|Font and Colors|ReSharper Debugger DataTip
                to something like Item Foreground : Lime / Item Background: somelighter Gray
                The effect will be to change the Debugger Data ToolTip to these colors, but the value of the variable still uses some Default color that will change in relation to the background.
                If you find the name of that you can change that too, but I have not so far. Good Luck
                P.S. Restart Visual Studio, sometimes the Color Theme Editor bugs and doesn’t refresh the colors on change without reset.

  8. Avatar

    HamRusTal says:

    November 23, 2017

    As per https://www.jetbrains.com/resharper/eap/ “Build 2017.3 EAP 6 … Introduced debugging support in ReSharper and ReSharper C++” but I see neither the “Options | Tools | Debugger” item nor the actual DataTips when only having “ReSharper C++” installed (did not check the greater ReSharper). Is the announcement wrong? Is the full ReSharper required to use this feature in C++?

    • Avatar

      Igor Akhmetov says:

      November 23, 2017

      Unfortunately full ReSharper is required, but this will be fixed in a future EAP build. Thanks for letting us know!

      • Avatar

        Alex says:

        December 28, 2017

        Do you still need the full version of Resharper to use this functionality? I downloaded the 2017.3.1 trial for just C# but the debugger integration doesn’t appear to work nor are the options available under “Options | Tools | Debugger”.

        • Avatar

          Maarten Balliauw says:

          December 29, 2017

          Which download did you use and which components were installed?
          The R# Ultimate install from https://www.jetbrains.com/resharper/download/ will be needed.

          Also make sure to check whether “Debugger integration” function is enabled here: “ReSharper | Options | Environment | Products & Features”
          This will show/hide the “Options | Tools | Debugger” page.

          • Avatar

            Kevin Gelking says:

            January 23, 2018

            Just as a small info for those stuck with an old professional perpetual version of Visual Studio:
            These new debugging tools from ReSharper won’t work if you, for instance, use Visual Studio 2012.

            I use ReSharper Ultimate 2017.3.1 with all add-ins included.
            My visual studio, due to being required by the company I work at, is quite old (VS 2012), and does not include the debugging features nor the tools section about it.

            Visual Studio 2015 shows at least the tools section just fine.

  9. Avatar

    Sam says:

    December 5, 2017

    Very cool. These features are very helpful. I love them in OzCode.

    Definitely sad for the OzCode guys though; I don’t see how they can compete now as these were their primary features. They definitely still have more features, but buying that extra extension just became a little bit harder of a sell.

  10. Avatar

    Anonymous says:

    December 18, 2017

    Hi,

    sounds (and looks) great, but I have a few questions.
    Does this work with Xamarin based projects?
    If not currently, is there timeline when it should work.
    OzCode doesn’t support Xamarin, this is why I’m so happy about this news.

  11. Avatar

    fpm says:

    December 27, 2017

    The Debugger enhancements to ReSharper 2017.3 are crashing Visual Studio 2017 (15.5.2)

    I can only debug for about a half-dozen steps before Visual Studio 2017 almost freezes and then throws up (almost literally) all over the screen with an error.

    Only fully disabling ReSharper 2017.3 or doing the following seem to help:
    ReSharper => Options => Tools => Debugger => Uncheck all “Editor Adornments” => Save

    See
    https://developercommunity.visualstudio.com/content/problem/169689/the-debugger-cannot-continue-running-the-process-o.html

  12. Avatar

    Lawrence Smith says:

    January 11, 2018

    These debug enhancements have kill my Visual Studio session in very short order, sometimes immediately. I get wait popups and then error messages stating debug is not synced, or I get a compiler error while stepping in the debugger and have to close out of Visual Studio 2017 entirely.

    For several weeks I thought that Microsoft had messed up Visual Studio beyond usability, but I’ve just found that it’s Resharper. I’ve disabled all of this new functinality the hopes of being productive again. Maybe someday I’ll try it again after you’ve fixed it.

  13. Avatar

    Tim says:

    January 23, 2018

    Something I miss in the new Datatips is the DataSet visualizer.
    When working with datasets this is a very usefull feature.

  14. Interview with Sergey Coox, the .NET Department Lead at JetBrains | JetBrains Team says:

    August 22, 2018

    […] features, I think we’ve already covered most of those. Our most recent triumph was bringing debugging inside the editor, but even that probably wasn’t […]

  15. Avatar

    Richard says:

    August 27, 2018

    Is it possible to change the font used for the inline value display? The “DataTips” setting only changes the datatip font, not the inline values.

    • Avatar

      Maarten Balliauw says:

      August 28, 2018

      That is not possible right now, I believe it follows the editor font. Could you open a ticket at https://youtrack.jetbrains.com/issues/RSRP#newIssue ?

      • Avatar

        Dominik says:

        October 30, 2019

        Hi, is it already possible to change the background/foreground of local variables displayed inside the editor while debugging?

        On my dark theme it’s very uncomfortable to read. It’s displayed in white background with very very light green/blue color foreground.

  16. Avatar

    Foob says:

    October 5, 2018

    Hey, look; yet another R# feature that slows my editor to a crawl. Keep it up guys!

Discover more