Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

How-To's

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.

image description