ReSharper Ultimate 2016.3 EAP Build 1. Details

Last week we opened the early access program for ReSharper Ultimate 2016.3. Below come details of what’s new in the first build. So far the updates and bug fixes are limited to the mainline ReSharper, but this is only the first build after all.

Unit testing in .NET Core apps

Good news for developers working with .NET Core projects: you can now enjoy ReSharper’s unit testing assistance features for xUnit and NUnit tests.

Note that as of the first EAP build debugging .NET Core tests may not work. We are currently investigating and looking to fix these issues.

Unit testing feature in .NET Core

Early bits of C# 7.0 support

If you already have Visual Studio 15 Preview 4 on your machine, you most certainly have played with some of the new C# 7.0 features. Although the ‘Preview 4’ has only been there for a month, ReSharper 2016.3 already brings basic support for local functions and lets you juggle with digit separators and binary literals:

Digit separators and binary literals

JavaScript, TypeScript, and JSON

  • Structural Navigation now works in JavaScript, TypeScript, and JSON. There are some minor known issues when navigating within TypeScript and we’re working to resolve them.
  • Go to Implementation now works for TypeScript types too: you can jump from a base type or member to any of its end implementations, bypassing intermediate steps in the inheritance chain.
  • A new quick-fix in TypeScript lets you quickly add type guards to disambiguate unresolved symbols:
    Surround with typeguard quick-fix
  • Initial support of TypeScript 2.0.2 (“2.0 RC”): boolean, number and enum literal types.

Language injection improvements

We continue to further improve the mechanism of language injections. In addition to regular expressions and HTML, ReSharper 2016.3 lets you inject CSS and JSON in C#, JavaScript, and TypeScript strings. As before, there are two ways to do so. You can either use a context action to mark a string literal as containing specific language:

Injecting CSS in a C# string

or you can use comments with the special syntax:

Injecting CSS with comment

In the example above, we add prefix= in the comment to make ReSharper resolve the string syntax as if the ‘#’ prefix is already a part of the CSS expression inside the string. As we start typing, ReSharper suggests us IDs of elements from CSS selectors. You can also use postfix= in the comment in a similar way, such as //language=css prefix=body{ postfix=}.

Unified settings page for context actions

A small usability improvement: there are no more separate setting pages for context actions in specific languages as all of them can be now enabled or disabled in a single page. Use the search box at the top of the page to find actions that you’d like to disable:
Unified settings of context actions

Try this for yourself!

Please download the first build of ReSharper Ultimapte 2016.3 EAP and give it a good try.

As usual, if you encounter any issues with this EAP build, don’t hesitate to report them to ReSharper issue tracker.

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

19 Responses to ReSharper Ultimate 2016.3 EAP Build 1. Details

  1. Pingback: Auf dem Weg zu ReSharper Ultimate 2016.3 - entwickler.de

  2. ta.speot.is says:

    I wish there was a ReSharper release that was just performance improvements.

    • Mark Rendle says:

      The primary problem with performance of ReSharper (and many other VS plug-ins) is the architecture and plug-in model of Visual Studio itself. Everything runs in a single 32-bit process, which makes it very difficult to utilise all the cores of a workstation’s CPU effectively, and very easy to hit the limit of physical RAM the process can access, causing an absolute ton of swapping. Compare this to Rider, where the R# engine is run in a completely separate process, and doesn’t slow the UI down in the same way. The same is true of VS Code and its language services.

      As I understand it, some of the work being done on Visual Studio “15” is to address this fundamental problem, which should enable R# and everything else to take full advantage of our massively powerful development boxes. We can hope, anyway :)

  3. Alex Dresko says:

    I wish people would stop complaining about R# performance and just buy a real computer already.

    • ta.speot.is says:

      Thanks Alex. My PC is an i7-6700K with 16GB of RAM and two solid state drives. I’ve got two memory slots free for another 16GB if I need it but memory is not the problem. It’s processor bound.

      Short of overclocking my Skylake to 5GHz I’m not sure what benchmark you’d set to make my PC more “real.”

      ReSharper does not perform well in several Visual Studio solutions I work with on a daily basis, with anywhere between 4 to 34 projects per solution.

  4. Rusty says:

    Unit Tests are running as expected, but neither DotCover nor Continuous Testing seem to function with DotNet Core tests.

    Is support for these features planned for 2016.3?

    • Dmitry Matveev says:

      Hi Rusty,
      We are workong on that, but as of now we cannot tell you whether coverage and continuous testing for .NET Core would make it into 2016.3

  5. Mike Diack says:

    Agreed. Resharper’s performance even on high end systems is poor frankly – a great tool, but gobbles up memory and is heavily CPU bound – how come Visual Assist doesn’t bog the system down in the same way?

  6. James Micheal says:

    What is the news on support for MSTests?

    • Dmitry Matveev says:

      Hi James,
      No news so far. Are you expecting anything in particular?

      • James Micheal says:

        I am trying to run continuous testing feature of resharper and it doesn’t seem to recognize any of my unit tests in my test project.

        • Dmitry Matveev says:

          Are you able to just run or debug unit tests with ReSharper commands? What’s your project type? As I answered above, continuous testing is not working on .NET Core projects yet.

  7. Pingback: Dew Drop - October 3, 2016 (#2336) - Morning Dew

  8. HamRusTal says:

    Sorry for a slight offtopic but I know no better place to report this:
    The “Fixes in ReSharper” link for EAP2 on the 2016.3 EAP wiki page (https://confluence.jetbrains.com/display/ReSharper/ReSharper+2016.3+EAP) is the same as for EAP1, hence is wrong.
    Also, weren’t there any fixes for ReSharper C++?

  9. Pingback: ReSharper Ultimate 2016.3 brings initial unit testing support in .NET Core applications - How to Code .NET

Leave a Reply

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