ReSharper Ultimate 2016.3 EAP 7
New code generation actions for C# and VB.NET
The Generate menu (Alt+Insert in a class) gets 3 new actions:
- Relational members helps you automatically overload relational opeartors (
≤) and/or implement
IComparable<T>using selected fields and properties. Optionally, you can choose from several string comparison algorithms and generate nullability checks.
- Relational comparer creates a comparer class derived from
Comparer<T>using selected fields and properties. In addition to choosing a string comparison algorithm and generating nullability checks, you can opt for generating a static property that will expose the comparer class to consumers.
- Dispose pattern helps you generate the canonical implementation of
IDisposablewith optional nullability checks and destructor for unmanaged members.
All the new generation actions work both in C# and VB.NET. Even better, actions that help you implement
IComparable<T> are also available with Alt+Enter on highlighted code:
Usage search goes async
The updated usage search mechanism makes finding references of heavily used symbols easier in two ways:
The Show in Find Results button becomes available in the pop up as soon as you invoke Usages of Symbol (Shift+Alt+F12). So if you see that the the search for usages is going to take some time, you can just click this button or press + on the numeric keypad and go on working with the code while the search continues in the Find Results window.
- The Find Results window now works asynchronously too, meaning that you can work with the resuls tree while usages search is still in progress.
Improved support of C# 7.0 and VB.NET 14
- Deeper analysis of C# local functions enables a lot of code inspections in their context, such as 'possible null reference exception', 'access to disposed closure', and 'access to modified closure'.
- ReSharper now respects the new
#Enable Warningdirectives in VB.NET.
Support of UWP RelativePanel control
ReSharper now correctly resolves element name references, detecs binding errors, and provides code completion for the
RelativePanel control in Windows 10 Universal apps.
- The postfix completion that we announced in EAP 6 now also works after
- New options for C++ formatter: 'Spaces wihin parentheses in cast expressions' and 'Place enumerators on new line'.
In addition to multiple performance improvements, dotTrace also delivers a number of new features in this build.
Call Stack improvements
The Call Stack tool window in dotTrace Timeline gets a whole bunch of enhancements in 2016.3. This window consists of two sections: Top Methods for displaying methods with the highest execution time and Call Tree for digging into the call tree. Each of the sections gets improved in this release:
- We returned the Show system functions option that was helpful when analyzing methods’ own execution time. If you select this option, system calls are shown separately in the Top Methods list and user methods don't include their time. Otherwise, user method’s own time includes the own time of child system calls.
- The Top Methods list now shows not only methods’ own time but total time as well (total time includes the execution time of the entire call subtree).
- Moreover, now you can click on a method’s own or total time in Top Methods or Call Tree. This will apply a filter by a corresponding method (if you clicked on the own time link) or by a method and its subtree (if you clicked on the total time link).
- The Top Methods list now follows your selection in Call Tree. When you select a particular method in Call Tree, Top Methods is rebuild to show you only child calls of the selected method.
Download ReSharper Ultimate 2016.3 EAP
As ever, we welcome you to download the latest ReSharper Ultimate 2016.3 EAP build.
Subscribe to Blog updates
Thanks, we've got you!
Eager, Lazy and Explicit Loading with Entity Framework Core
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawbacks. In this post, let’s have a quick look at each of these ways to load data for navigational prope…
OSS Power-Ups: bUnit – Webinar Recording
The recording of our webinar, OSS Power-Ups: bUnit, with Egil Hansen and Steven Giesel, is available. This was the twelfth episode of our OSS Power-Ups series, where we put a spotlight on open-source .NET projects. Subscribe to our community newsletter to receive notifications about future webi…
Accelerating Your Testing Workflow with Unit Test Creation and Navigation
Unit tests play an important role in our daily development workflow. They help us ensure our codebase's correctness when writing new functionality or performing refactorings to improve readability and maintainability. In the process, we often create new test files that accompany the p…
Introducing Predictive Debugging: A Game-Changing Look into the Future
With the introduction of debugging tools, software developers were empowered to interactively investigate the control flow of software programs to find bugs in live environments. At JetBrains, we've always strived to improve the art of debugging. Besides the more standard things you expect from a de…