ReSharper Ultimate 2016.2 EAP: What’s new in builds 9-11

ReSharper Ultimate 2016.2 EAP has been open for over two months, and we are approaching release now. Most probably, the new things described below will round up the feature set of upcoming ReSharper Ultimate 2016.2. So here is what’s new in the latest EAP builds.

ReSharper

In addition to 100+ fixed issues in the mainline ReSharper, there are some new features worth mentioning:

  • Go to Text navigation (Ctrl+T,T,T) lets you quickly find and navigate to any text in source and textual files. This new feature uses trigram indexing to make text search blazingly fast. Similar to other navigation commands, if there are too many matching items you can hit + on the numeric keypad to explore results in the Find Results window.
    Go to Text command
  • Warnings in solution-wide analysis will help you constantly keep track of all warnings in your solution: both actual compiler warnings and ReSharper’s inspections with the ‘Warning’ severity level. Before, the status bar indicator would turn green as soon as the last error in the solution was fixed. Now, the indicator can stay orange while there are unresolved warnings. It is still up to you whether to enable the solution-wide analysis and whether to include warnings in it: just right-click the status bar indicator to configure everything.
    Warnings in solution-wide analysis
  • A way to propagate XML documentation with the <inheritdoc/> tag, which is a good alternative to copying documentation from base types/members to derivatives. Although the tag is non-standard, it is understood by tools such as NDoc, Sandcastle, and Stylecop; and there are also requests to support it in .NET Core and Roslyn.
    So you can now use a context action to add the <inheritdoc/> comment to derived members; you can enable adding <inheritdoc/> automatically when generating missing/overriding members; the Quick Documentation popup will display the correct documentation even if the tag explicitly refers to specific symbol, i.e. <inheritdoc cref="SomeSymbol"/>.
  • The Process Explorer window (ReSharper | Windows | Process Explorer), which was previously only available in dotPeek, provides you with the list of currently running processes, allows exploring their modules and decompiling those of them that are .NET assemblies.
    Process Explorer window
  • New formatter options that let you control spaces before and after ++ and -- operators as well as spaces before and inside parenthesis of checked and default expressions.
  • In terms of TypeScript, ReSharper now fully supports TypeScript 2.0. Another long awaited feature makes the main navigation commands (Go to Declaration and Find Usages) work correctly when dealing with type aliases.

ReSharper C++

  • You can now generate documentation comments for C++ symbols simply with a context action. If necessary, you can customize the comment stub by editing the ‘doc’ live template that ReSharper uses for generation.
    Surround templates in completion lists
  • When your caret is on one of a function’s exits (return, throw, etc.) ReSharper C++ will automatically highlight all other function exits including exits from loops and switch statements.
  • New code inspections and quick-fixes: ‘Missing default case in a switch statement’ and ‘Non-explicit conversion operator’
  • Code style for default pointer initializer. You can specify 0, nullptr or NULL as the preferred initializer in the options, and ReSharper will help you maintain this style in your code base.

dotTrace

Recursive call stacks can be deep and difficult to analyze. Previously, Timeline Viewer would show call stacks “as is”, i.e recursive calls were simply shown as they were called: one after another in the stack trace. Of course, on complex call stacks with multiple recursive calls this would result in almost infinite stack scrolling. Now, Timeline Viewer allows you to fold such calls to streamline stack analysis.

Recursive call stack in dotTrace Timeline Viewer 2016.2

dotMemory

dotMemory now allows you to compare memory snapshots stored in different workspaces, or, in other words, collected in different profiling sessions.

For example, this can be useful to find out how particular changes in code affect your application’s memory usage. All you need are two snapshots taken before and after committing changes.

Cross-workspace snapshots comparison

dotCover

  • Filtering processes from console runner lets you reduce unnecessary overhead by excluding child processes that are irrelevant to the coverage analysis. To enable a process filter, use the /ProcessFilters parameter. For example, /ProcessFilters=+:prA;+prB will exclude all processes except prA and prB; /ProcessFilters=-:prC will exclude prC from the coverage.
  • Hide auto-properties option allows you to exclude auto-properties from the coverage analysis.

Please feel free to download the latest 2016.2 EAP build and let us know what you think. If you have any problems, please raise issues in ReSharper, ReSharper C++, dotTrace, dotMemory or dotCover issue trackers.

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

24 Responses to ReSharper Ultimate 2016.2 EAP: What’s new in builds 9-11

  1. Mike-EEE says:

    Can someone please speak to the nameof symbol and if it will get its own formatting options in addition to checked, default, and pretty much every other symbol in the .NET universe? ;P

  2. ta.speot.is says:

    I love ReSharper but its performance has been getting steadily worse. I would be fine with ReSharper 2016.3 and 2016.4 having no new features and just performance improvements.

  3. Pingback: Dew Drop - August 10, 2016 (#2306) - Morning Dew

  4. tivadj says:

    [C++] Is there a support for documentation preview (Ctrl-Q), parameter renaming leads to change in method’s documentation, etc?

    • Dmitry Matveev says:

      – Quick documentation (Ctrl+Q) or (Ctrl+Shift+F1 in Visual Studio scheme) does work in C++.
      – Renaming parameter will not change it in the documentation comment. However, there is a code inspection that will highlight * \param x in the comment if there is no parameter x in the method declaration.

      • Igor Akhmetov says:

        Renaming a parameter will actually update the documentation comment, though the change signature refactoring hasn’t been updated yet.

        • Dmitry Matveev says:

          To clear up why Igor’s answer differs from mine – I meant just editing the name, Igor meant using the Rename refactgoring (Ctrl+R,R).

  5. Chuck says:

    How about giving vbhtml files some Resharper love? Those of us forced to work in VB.Net feel like the red-headed step-child of the Resharper family.

    • Dmitry Matveev says:

      The fact that C# got more attention comparing to VB.NET is simply explained by the ratio of users of these languages. However, we’re trying to catch up on VB, for instance, we supported VB14 features in R# 2016.1
      The issue you mention is known to us, so you are welcome to upvote and watch it.

  6. bughunter says:

    The email I got does not contain the link to a zip version. Previously it was possible to replace exe with zip. But this seems not possible anymore. I already filed an isssue because it is so hard to get the zip versions of different jetbrains products – but nobody listens. Why do you produce zip versions and hide to your users afterwards?

    • bughunter says:

      sorry .. this was meant to the announcement of the new rider eap. not resharper.

    • Jura Gorohovsky says:

      Can you point to the issue you’ve filed? From your comment, it’s not exactly clear what’s wrong with exe distributions. Thanks

      • bughunter says:

        i do not want download and install via installer. i want to download the zip and expand it into a special directory.
        see https://youtrack.jetbrains.com/issue/IDEA-128344
        it affects all jetbrains products. and my question: “Why do you produce zip versions and hide to your users afterwards?” is now ignored three times.

        • Jura Gorohovsky says:

          I see, thanks. I’m not really the right person to answer this, though, as this is a question that affects all IntelliJ Platform based products, and should probably be resolved in the context of the issue you’re referencing.

  7. Kristian Hellang says:

    “Warnings in solution-wide analysis” – Couldn’t you just add a list of checkboxes for which severities you want to include in the analysis list? I could easily see someone would like to see suggestions in there as well.

    • Dmitry Matveev says:

      Hi Kristian,
      One day we would like to merge ‘Errors in solution’ and ‘Inspection Results’ windows so that one could constantly monitor all issues in the whole solution, just like now you can always see all issues in the current file. For now, you can assign the ‘Warning’ severity to any issue you’d like to see in the list.

  8. Dev says:

    Why not have more granular releases? Especially given the new licencing. New features are tiny anyway, it’s more about fixing bugs it seems. Does it have to be 100+ fix big bang once a year? Thanks.

    • Jura Gorohovsky says:

      Actually we have adopted a more frequent release schedule whereby we roll out 3 major releases per year (2016.1, 2016.2 and 2016.3 this year) and as many smaller bug fix releases as necessary.

      We feel that a major release every 4 months is reasonable. If you feel this is still too rare, please clarify why you feel this way.

      Thanks

  9. Pingback: ReSharper Ultimate 2016.2 – das ist neu - entwickler.de

  10. bughunter says:

    Jura? Are you able to answer my question?

Leave a Reply

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