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.

Depending on where in the code we are and what we want to find out, we can use one of the four actions provided in the Inspect This… menu: Value Origin, Value Destination, Incoming Calls, or Outgoing Calls.
Call and value tracking

Value and call tracking can help us analyze a code base and investigate, for example, how an incorrect value might have been passed to a given point in our program, and where it might be passed next.

Value and call tracking are currently implemented in C# and VB.NET. In F#, the features don’t work yet but will hopefully be made available later on.

In related news, the Inspect Code action is now available in the context menu of Rider’s Solution Explorer.

To try value and call tracking on your own code base, download Rider 2017.2 EAP!

About Maarten Balliauw

Maarten Balliauw is a Developer Advocate at JetBrains, working on .NET tools. He focuses on .NET, Azure, web technologies and application performance. Maarten is a frequent speaker at various national and international events. In his free time, he brews his own beer. Follow him on Twitter or check his personal blog.
This entry was posted in How-To's and tagged , , , , . Bookmark the permalink.

4 Responses to Call and value tracking come to Rider

  1. Was great to see this included in the latest EAP, it’s something I really missed from ReSharper (that and an IL viewer which I’m hoping will be along someday).

    Keep up the awesome work.

  2. Love it! Fantastic work guys.

Leave a Reply to Joseph Woodward Cancel reply

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