ReSharper Ultimate 2016.2 EAP kicks off

Welcome to ReSharper Ultimate 2016.2 Early Access Program!

Here’s a quick summary of what is available in the initial EAP build:

  • Initial support of ASP.NET Core 1.0 RC2, including support for tag helpers in terms of code completion, navigation, search and refactorings. At this point, ASP.NET Core web applications are supported if they’re targeting .NET Framework but are not supported if they’re targeting .NET Core. We’re looking to improve this in subsequent builds.
  • Assorted TypeScript support improvements such as generative code completion; improved Find Usages and Rename for union and intersection types; more TypeScript 2.0 features (this types for functions, control flow-aware type guards, path mappings, optional class members, the never type); important bug fixes for Angular and Sugar users.
  • Multiple bug fixes and better spec handling in CSS support, which is expected to improve code validation and completion.
  • A new refactoring to move members to another part of a class. You can even use the refactoring over a region to move all region members into a new file with a name inferred from the region name.
    Make partial class refactoring
  • New quick-fixes and context actions, helping simplify string interpolation inserts, revert the order of iteration in simple for loops, or fix awaiting of a void method by making it return Task. In addition, existing quick-fixes that make methods async now suggest to use Task instead of void.
  • Optimize References and Remove Unused References now allow marking references as used at runtime, which finally makes both features useful in solutions that are using IoC.
  • New subtle C# typing assistance features, such as auto-replacing MethodName(.) with MethodName(). as you type:

  • A revised indenting engine in the C# formatter, particularly new options for indenting parenthesis.
  • Rearrange code improvements. For example, it is now available in interpolated string inserts, and in expressions with 3 and more operands.

Changes are currently limited to the mainline ReSharper. Other tools such as dotTrace and ReSharper C++ will be merging their changes as the EAP goes forward.

Download ReSharper Ultimate 2016.2 EAP!

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

21 Responses to ReSharper Ultimate 2016.2 EAP kicks off

  1. Aleksandr says:

    I and my company is preparing to buy some new Resharper Ultimate licenses and upgrade some existing Resharper 9.x, but we can hardly find a good timing for it.. I already suggested to wait a bit, with a hope Resharper 2016.1 will be with ASP.NET Core support. I appreciate ASP.NET Core is not ready itself yet, but anyway.. All these often updates are good and nice to see, but according to new Jetbrains licensing model – it looks a bit unfair from end-user perspective..

    All these updates basically mean that if I buy licence today – in near future (when my license will be dropped to “fallback” one) I can end with no new features (e.g. no ASP.NET Core support). Although there are even parts like “multiple bug fixes” in new release – which makes it even more unfair. Please correct me if I’m wrong.

    Speaking about specific updates – starting from around 2015 November there were quite a lot of new Resharper releases with breaking changes/features. For example NUnit 3 is not supported in Resharper 9.x. In a such rapid technology updates time (like famous ASP.NET Core) – I even don’t have an idea when there will be a good timing to buy a license having in mind new licensing model and so often updates.

    • Slava Trenogin says:

      Aleksandr, the best time is now. Each next release is supposed to be better so you can stuck waiting forever for the ideal release.

    • ta.speot.is says:

      It’s a subscription license model … you’re always up to date.

    • Jura Gorohovsky says:

      Hi Aleksandr,

      There are a few answers to your question already, and I concur with both.

      Just for the record however, if you’re not interested in a recurring subscription and you’re looking to stop at a particular version that you’re satisfied with, you should consider that your fallback version will be counted as the final month of your consecutive subscription minus 12 months. That means, for example, that if you pay for a yearly subscription in June 2016 but the version that you’d like to stay on gets released, say, in September 2016, you can fall back to that version by adding 3 more months to your subscription (instead of another whole year), increasing your non-interrupted subscription to 15 months.

      Good luck.

  2. Mike-EEE says:

    Ugh! I want to try all the latest magic but extensions are not installed/do not work for EAPs. Is there not a way to design your extensions so that they must be specific to a particular version? It seems like extensions designed for 2016.1 should would for 2016.x. Or even to allow us as end users to “try at our own risk” to see if they even work to begin with… otherwise at this point using R# w/o my R# extensions is like using VS w/o R#… no bueno. 😛

    • Matt Ellis says:

      Hi Mike. Unfortunately, this is not something we can easily fix. The main problem is that almost all of our functionality is ultimately built on top of the syntax trees parsed from the files in a solution – from the semantic model, to inspections, code completion, navigation and refactoring. The same goes for plugins.

      If we want to support a new language feature, we have to change the shape of this tree, and add, remove or otherwise change existing node definitions, and this is a breaking change. For example, C#6 introduced interpolated strings, which meant that instead of one string literal node, we now have several nodes that represent strings, verbatim strings, interpolated strings, interpolated string holes and verbatim interpolated strings. Similarly, using statements had to change to work with both namespace imports and static class imports.

      We can’t add these kinds of changes to the syntax trees in a backwards compatible manner – it’s not technically feasible. And you can’t abstract these things, either – the syntax tree is already the abstraction. Which basically means, every time we change a syntax tree, we make breaking changes and require plugins to be updated.

      And we have a lot of languages that we manage – so if C# hasn’t been updated in a release (and it has here, as we’re starting to support C#7), then another language is updated (TypeScript is seeing rapid updates). Managing this per-language, or per-feature becomes too much of an overhead, so we unfortunately require plugins to be updated for each new version. Not ideal, of course, but I don’t really see a way around it.

  3. Pingback: Dew Drop – May 31, 2016 (#2262) | Morning Dew

  4. John Reynolds says:

    Is there any hope of the VB.Net users getting any push forward in the next few releases?

  5. Any chance we will have Search Text Everywhere similar to what exists in Visual Studio Code or used to exist with the Goto Word (triple T) extension. I know this is one of the most missed features for most people I talk to about Resharper.

  6. Pingback: ReSharper’s Rename Refactoring and ASP.Net Core Tag Helpers – Michael McCarthy's .NET Blog

  7. Customer says:

    “Dear” reshaprer.
    Please correct a bug when a net core reference is added to a net core web api project.
    Resharper is showing usings with red and also objects in red.
    This is annoying. The only way to solve this is disable resharper.

  8. Pingback: .NET дайджест #11: Не все так красочно c .NET Core и С#, границы DDD и микросервисов, обзор подсистемы Windows для Linux - LIKELY.CLUB

Leave a Reply

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