Call and value tracking come to Rider

Let’s look at more improvements in Rider 2017.2 EAP. In major news, the team has delivered on a popular feature request — that is, bring Call Tracking and Value Tracking from ReSharper over to Rider.

Where does this value come from? Where are we using this value? What are the call trees this method is used in? Using the Inspect This… action (Ctrl+Alt+Shift+A in both ReSharper and Visual Studio keymaps), we can now let Rider figure this out for us.

Continue reading

Posted in How-To's | Tagged , , , , | 4 Comments

Multi-line import completion, code generation improvements in Rider 2017.2

In Rider 2017.2 EAP, we did quite some work on code completion.

For example, for CSS, JavaScript and TypeScript as well as .config, .csproj and XML files, more and better suggestions are now available.

Multi-line code completion has been improved, too — including import completion in C#. (tip: use Shift+Alt+left mouse click to set multiple text carets)
Code completion with multiple cursors

Continue reading

Posted in How-To's | Tagged , , , | 3 Comments

Better JavaScript and TypeScript support in Rider 2017.2

We announced a new Rider 2017.2 EAP build late last week but we only outlined the changes that it brought. This week, let’s dive into what’s new. To start off, here’s a summary of changes in JavaScript and TypeScript support, courtesy of a newer version of the IntelliJ platform that Rider has migrated to.

When hovering objects with the mouse and holding Ctrl, the inferred type for objects (annotated with parameter hints) is displayed in a tooltip.
TypeScript type hints

Continue reading

Posted in How-To's | Tagged , , , | 6 Comments

Rider 2017.2 EAP 2: open folder, call and value tracking, and more

Rider 2017.2 EAP - build 2 - Early Access Program

Here’s a fresh Rider 2017.2 EAP build for you!

This build updates Rider’s front-end to IntelliJ platform 2017.2, with version control improvements, updates to JavaScript and TypeScript support, and a more native Windows 10 look and feel.

We’ve also worked on the project model, and as a result, Rider now lets you open individual files and folders, as well as attach folders to solutions. We made improvements when generating and inspecting code, added the highly requested call and value tracking from ReSharper, streamlined the way you change C# language level in your projects, enabled auto-starting and debugging the browser when running web applications, improved F# and Unity support, added (initial) support for lambda expressions in debugger watches, and fixed a number of bugs.

We’ll post more about the highlights of this new EAP build next week; meanwhile, please download Rider 2017.2 EAP and give the new build a try!

Posted in How-To's | Tagged , , , , , , , , , , | 4 Comments

ReSharper Ultimate 2017.2.1

We’ve just released a bug-fix update to the ReSharper Ultimate product family: check out ReSharper Ultimate 2017.2.1.

  • ReSharper 2017.2.1 fixes a few bugs in code completion, including a nasty bug in replace code completion with Tab (RSRP-466079, RSRP-466137); removes bogus red code in .NET Core applications that reference .NET Framework 4.7 or 4.6.2 assemblies (RSRP-466025); addresses a performance issue in navigation (RSRP-465988). Overall, ReSharper 2017.2.1 contains 50+ fixes.
  • ReSharper C++ 2017.2.1 fixes problems related to formatting, including ClangFormat-based formatting, as well as inconsistent naming inspections and their corresponding quick-fixes. There’s also a new code inspection available, Parameter may be const. Here’s the list of all fixes in ReSharper C++ 2017.2.1.
  • dotMemory 2017.2.1 improves its way of processing memory dumps that it can now import (all dotMemory fixes), and the new dotCover polishes its code highlighting (all dotCover fixes). Finally, around 20 assorted fixes are available in dotTrace 2017.2.1.

Go ahead and download ReSharper Ultimate 2017.2.1.

Posted in How-To's | Tagged , , , | 10 Comments

Improved continuous testing performance in dotCover 2017.2

Continuous testing (CT) is a super-helpful feature but only under one condition: sufficient performance. Unfortunately, in dotCover 2017.1 and earlier, CT could be a real pain on large and very large solutions (30+ projects). The problem lies in three performance-critical phases of CT (actually, this is true not only for CT but for all tests run under coverage), which are:

  1. Coverage process startup.
  2. Test execution (could be much slower than usual due to the additional statement-level instrumentation).
  3. Post-processing of coverage snapshots.

In 2017.1 and earlier, (3) was the worst performing phrase because multiple coverage processes running in the background created as many coverage snapshots. Even though coverage time wasn’t too big, the merging of subsequent snapshots was very slow due to the snapshot format. On real solutions, post-processing could take up to several minutes (and prevented running tests during that time).

Continue reading

Posted in How-To's | Tagged , , | 4 Comments

Interactive tutorials are part of ReSharper 2017.2

A while ago, along with ReSharper 2016.3, we released a plugin that added a set of interactive tutorials to ReSharper.

Starting with 2017.2, the tutorials are not a plugin anymore but an integral part of ReSharper.

  1. Select ReSharper | Help | Tutorials…
  2. Choose a tutorial and click Run.
  3. Follow the steps suggested.

ReSharper interactive tutorials

There are some differences compared to the latest available plugin v.0.9.13:

  • First of all, existing tutorials are much more polished.
  • Bug fixes. Lots of them.
  • New content: take the What’s New in ReSharper 2017.2 tutorial to learn about the key C# features added in that release.

Tutorials will now be updated on a regular basis. With each new ReSharper release, you will find a new tutorial that overviews the latest features. So now, every time you update your ReSharper instance, make sure to check out ReSharper | Help | Tutorials…

Posted in How-To's | Tagged , | 3 Comments

Null checking improvements in ReSharper 2017.2

Null checking is a very common task that ReSharper has always been helping to automate. Since the very first versions, ReSharper users had a whole bunch of context actions and quick-fixes at their disposal, such as Check parameter for null, Assert expression is not null and Check variable for null.

As we’re constantly improving the coding experience, we made a number of changes in previous releases: we extended the Check parameter for null action to check all parameters at once and also added an option to insert null checks when generating a constructor. ReSharper 2017.2 advances null checking even further. Let’s see!

Continue reading

Posted in How-To's | Tagged , , , , , , | 7 Comments

Improved XML documentation support in ReSharper and Rider

Having code with XML documentation is great, as it allows generating nice API documentation and provides useful help while writing code:

XML documentation class and parameter info

ReSharper 2017.2 and Rider 2017.2 EAP give us more tooling to organize XML documentation across inheritance hierarchies.

When creating a class library that provides XML documentation, we can make use of the <inheritdoc/> element to inherit documentation from a base class or an interface. Consider the following code:

Continue reading

Posted in How-To's | Tagged , , , , , | 4 Comments

IEnumerable inspections and quick-fixes in ReSharper and Rider

ReSharper and Rider continuously analyze the code we’re working on and help us detect errors and problems early on. They provide suggestions and hints as well, and for many of the 2300+ code inspections that are available, quick-fixes exist to automatically resolve detected issues. ReSharper 2017.2, as well as the Rider 2017.2 EAP, introduce several new code inspections and quick-fixes that help us write better code. Let’s have a look.

IEnumerable – Possible multiple enumeration

The Possible multiple enumeration of IEnumerable code inspection has been around for a while. It helps making sure we’re not enumerating a collection twice – something which could lead to excess work of a database or even to mutated state and strange results. ReSharper 2017.2 adds support for IOrderedEnumerable and ParallelQuery, next to the already existing inspection for IEnumerable. Let’s look at what it does.

Consider the following code snippet:

Continue reading

Posted in How-To's | Tagged , , , , | 4 Comments