ReSharper Ultimate 2016.1 (formerly 10.1) EAP 6

Hello everyone. This week we have published a new EAP build of ReSharper Ultimate 2016.1 (formerly referred to as ReSharper Ultimate 10.1), bringing new fixes and improvements.

(If you’re wondering why a sudden change of versioning, please see JetBrains Toolbox — Release and Versioning Changes.)

Below is what we have added in this latest build.

ReSharper

Out-of-the-box xUnit.net support

The xUnit.net test framework has seen a large rise in popularity recently, including being the framework of choice for Microsoft’s cross platform, open source .NET Core project, and is the officially supported way of running tests for DNX projects.

While ReSharper has had support for xUnit.net for many years, it has always required installing a separate extension. Starting with EAP 6, ReSharper now provides support for xUnit.net directly in the product. This means ReSharper will discover your tests, and allow you to run and debug them, right from the editor, without requiring any extra extensions.

Furthermore, ReSharper Ultimate users will also be able to profile tests, get code coverage and use xUnit.net in Continuous Testing sessions.

One thing to note is that this build does not yet support running tests for DNX projects, this will hopefully be included in a future build.

New code style features

There are two new features to further extend the level of detail of your code style. As usual with code style, the new features are configurable and can be applied as part of code cleanup.

Using named/positional arguments

Consider the following method call:

AddCheckbox(true, true, "AutoFill", null);

When you read this code, you have to stop and examine the method signature to understand what happens here. With named arguments, the call becomes much clearer:

AddCheckbox(enabled: true, value: true, label: "AutoFill", tooltip: null);

Now, if you prefer to have named arguments for specific types, you can do so with a little help from ReSharper. In the Code Editing | C# | Code Style page of ReSharper options, define for which types of parameters you prefer to use named arguments, and the corresponding suggestions will be added to the list of quick-fixes:

Code style for named/positional arguments

In addition, even if you do not have any style preferences for arguments, you can always press Alt+Enter on any named or positional argument and choose to add or remove the argument name.

Braces for single-line statements

C# specification allows you to safely omit braces around single nested statements in some parent statements, e.g. if-else, foreach, etc. However, code style guidelines may differ in this regard: some consider the braces here as a requirement, some consider them redundant.

Whatever style you prefer, ReSharper now helps you have consistent use of braces throughout your code base. Preferences for each kind of code block can be configured separately in a code style options page, and ReSharper makes sure to respect these preferences:

Braces style for single-line statements

Here is the full list of fixes for ReSharper in this EAP build.

dotCover

This build brings some bug fixes and a few UI improvements to the Continuous Testing Session window. Quick search results are now highlighted in the coverage tree, and a button is added to explore the stack trace of the selected test in Stack Trace Explorer:

Improvements in Continuous Testing window

dotMemory Unit 2.2

There is another small improvement that have to do with dotMemory Unit. While only constant values can be used when initializing attribute properties, there was a problem of defining user-specific directories for DotMemoryUnitAttribute.Directory property when saving workspaces. Now there are three new constants that evaluate to %USERPROFILE%, %APPDATA%, and %LOCALAPPDATA%. You can either use the constants from the SpecialDirectory class, e.g:

[DotMemoryUnit(Directory = SpecialDirectory.User + "MySubDirectory")]

or simply write one of these constants in angle bracketes (<User> | <CommonApplicationData> | <LocalApplicationData&gt), e.g:

[DotMemoryUnit(Directory = @"<User>/MySubDirectory")]

The mandatory call to action

If you haven’t done it already, please download the latest ReSharper Ultimate 2016.1 EAP build.

To provide any feedback, please use the comments here or report problems to issue trackers of affected products: ReSharper, ReSharper C++, dotTrace, dotCover, dotMemory, dotPeek.

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

13 Responses to ReSharper Ultimate 2016.1 (formerly 10.1) EAP 6

  1. Jeffrey Parks says:

    This article and the article for EAP 5 both have a typo of “DoMemory” instead of “DotMemory” in a section header.

    I’m looking forward to ReSharper 2016.1!

  2. Wim De Ceuster says:

    Any support for F# planned?

  3. Pingback: The Morning Brew - Chris Alcock » The Morning Brew #2055

  4. Pingback: Dew Drop – March 18, 2016 (#2211) | Morning Dew

  5. Pingback: jQuery-Updates & ReSharper Ultimate 2016.1 EAP 6

  6. David Peden says:

    Can you guys please provide some clarity on when we can expect proper DNX/dotnet support?

    https://github.com/xunit/resharper-xunit/issues/38

    For the statement:

    One thing to note is that this build does not yet support running tests for DNX projects, this will hopefully be included in a future build.

    Does “hopefully be included in a future build” mean in a future build of 2016.1 or something beyond?

  7. xUnit: ABOUT TIME.

    Using named/positional arguments: that’s an absolutely great addition. I’ve been using this for years and for years have been fighting resharper to make sure it doesn’t remove my named arguments as “redundant”.

  8. Jeff says:

    I have been eagerly awaiting Typescript 1.8 support but have been reluctant to install the EAP’s because of the “Please note that the installer will remove all previous installations of ReSharper and other JetBrains .NET tools from Visual Studio.” comments. Does installing an EAP version preserve all of my settings? Is reverting back to my current R# version just involve uninstalling EAP and re-installing my current version?

    • Dmitry Matveev says:

      Hi Jeff,
      Exactly, reverting back from a EAP build to your current R# version only involves re-installing your current version.
      All your settings are kept separately from binaries. Global settings are here: %AppData%\JetBrains\Shared\vAny\GlobalSettingsStorage.DotSettings, and solution-wide settings are next to the solution file in [snlName].sln.DotSettings and [snlName].sln.DotSettings.user files. Please do try the EAP build and let us know whether Typescript 1.8 support suits your expectations.

  9. Neil says:

    Whats happened to the StyleCop extension in R# 2016.1?

    • Matt Ellis says:

      It needs to be updated to work with the new version of ReSharper. I’m working on it right now, and it should be released tomorrow.

Leave a Reply

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