ReSharper Ultimate 2017.1 EAP 7: usability improvements to Code Cleanup

As we approach the release date, there’s always an urge to get more bugs fixed and new features polished. Obviously, we couldn’t resist and decided to publish an additional pre-release build. Download ReSharper Ultimate 2017.1 EAP 7 and check some nice new features and improvements we have introduced.

Throughout this Early Access Program, we’ve been working on improving the design and usability of ReSharper’s Code Cleanup. This feature is useful when you need to apply a number of code cleanup tasks in a bulk mode. You can create various code cleanup profiles to apply in different scenarios.

In previous ReSharper versions, you had to go to Code Editing | Code Cleanup to configure the profiles. Now you can create and edit your custom task-specific profiles right in the Code Cleanup dialog box, simply by pressing Ctrl+E,C.

We’ve also expanded the list of C++ code cleanup tasks with ReSharper’s 14 most commonly used code style features.

Code Cleanup dialog box

In the previous EAP build, we introduced an option to filter the results in the Go to Everything popup. EAP 7 adds a similar option to the Go to Text popup. Type ‘/’ and some designated chars to use the filter:

Filter in Go to Text

Apart from these features, we’ve fixed several bugs in ReSharper and ReSharper C++.

The 2017.1 release is just around the corner, so please stay tuned for the news!

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

Webinar: Exploring .NET’s memory management

Join us Thursday, April 6, 16:00 – 17:00 CEST (check other timezones) for our free live webinar, Exploring .NET’s Memory Management, with Maarten Balliauw.

Register Now: Exploring .NET's Memory Management

In this webinar, we’ll take a trip down memory lane and look into how .NET memory management works. We’ll start off with the .NET Garbage Collector (GC) is really cool and look at how it helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? It still matters to understand when and where memory is allocated. In this talk, we’ll go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET – making our apps better. Expect profiling using dotMemory, Intermediate Language (IL), and using ClrMD to mimic some inspections dotMemory provides.

To attend this webinar, register here.

About the presenter:

Matt EllisMaarten Balliauw is Developer Advocate at JetBrains and loves building web and cloud apps. His main interests are in ASP.NET MVC, C#, Microsoft Azure, PHP and application performance. He is a frequent speaker at various national and international events and organizes Azure User Group events in Belgium. In his free time, he likes brewing his own beer. Maarten’s blog can be found at

Posted in How-To's | Tagged , , , | Leave a comment

ReSharper Ultimate 2017.1 EAP 6: dotMemory console profiler and more

Today we welcome you to download our last pre-release build of ReSharper Ultimate 2017.1 and check out all new features and improvements that we’ve been working on since the beginning of this year. In the previous builds we fixed important bugs and added new features that mostly relate to perfecting support for Visual Studio 2017 RTM and C# 7. Today’s EAP build includes noticeable updates to dotMemory, dotPeek and a few other improvements that we are going to cover in this post.

Continue reading

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

Rider EAP 19: new .NET Core, LESS, Sass, and more

Here’s a monthly dose of good news: you can now download a new Rider EAP build.

JetBrains Rider EAP 19

Below is a quick summary of what’s inside Rider EAP 19. Note that the build contains major improvements that we’re hoping to describe in more detail next week.

Continue reading

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

Language injections in Rider

Just like ReSharper, Rider supports language injections. In almost every project there are cases where we want to (or have to) embed a piece of code in a string literal. For example, pieces of HTML inside a JavaScript string, or a quick JSON fragment inside a C# string. Let’s see how they work.

Note: In this blog post, we’ll look at some of the basics of language injections. They work similar in both Rider and ReSharper – check this deep-dive post on language injections in ReSharper to learn more.

Mark as injected language

Like all good things in Rider, Alt+Enter is where it starts. In the editor, we can place the caret on a string literal and mark it as an injected language.

Inject CSS into C# string literal

Whenever a string contains C#, regular expressions, CSS, HTML, JSON or JavaScript, Rider can treat it as a code fragment, providing highlighting and code analysis for them. Even quick-fixes are available, for example for selecting a specific CSS color or fixing a JavaScript comparison:

JavaScript language injection - quick-fix

Continue reading

Posted in How-To's | Tagged , , , , , , , | Leave a comment

ReSharper Ultimate 2017.1 EAP update: Visual Studio 2017 RTM and more

We are getting closer to the release date and working hard towards providing the finest coding experience to Visual Studio 2017 RTM users. If you are already using the latest release of Visual Studio, make sure to download ReSharper Ultimate 2017.1 EAP 5 to get the best support for its new features.

We have introduced quite a lot of improvements during this EAP, and today we’ll take a look at updates in our two latest EAP builds.

Continue reading

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

Smart Paste in Rider

Today, I’d like to introduce you to Smart Paste, a “little big feature” in Rider (as well as in ReSharper). It ensures the right escaping in string literals that are copy/pasted. For example, consider pasting The "Name" field is required into var error = "". We would paste the string, then move to both " characters and escape them with \", making sure there are no syntax errors. Rider helps us out here with a quick-fix that can escape illegal characters for us!
Using Smart Paste to escape a string

Smart paste works in C#, VB.NET, JavaScript, XML, XAML and HTML files, and suggests escaping values upon paste.
Continue reading

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

Using dotPeek to figure out why IIS crashed

Here’s a story on how I once used dotPeek to provide debugger symbols and (decompiled) source code for a crashed application for which we had nothing but the application assemblies available. Namespaces have been altered to protect the innocent.
dotPeek decompiler

Nothing better than a good cup of coffee in the morning! Opening up the issue tracker, “the folks from IT” logged an issue about an application server crashing over night. They automatically captured a crash dump of the IIS worker process and attached it to the issue – this should help in diagnosing the root cause of that crash. One more coffee refill, and then let’s dive in!

Continue reading

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

Rider EAP update: Version control and database editor improvements

We already mentioned numerous times that Rider is built on top of ReSharper, analyzing our code in the background, and the IntelliJ platform, providing the front end and editor capabilities for our cross-platform IDE for .NET.

Doing so lets us ship the best of both worlds: both products have been evolving over years, and Rider profits. So when IntelliJ IDEA 2016.3 was released, we merged all of the improvements to language-independent features such as version control and the database editor into Rider. Let’s go over some of these improvements!

Continue reading

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

Rider EAP update: File watchers

One cool thing about Rider is that we can tap into the rich plugin ecosystem the IntelliJ platform brings. There are community plugins, and several JetBrains plugins as well. One of those was recently made available to work with Rider EAP: the File Watchers plugin, which executes tasks on file modifications.

But… why would we want this? One example could be “watching” TypeScript files for modifications and then transpile TypeScript to JavaScript automatically. Or watch CSS, LESS or JavaScript and bundle & minify them whenever we make a change. Let’s look at an example.

Continue reading

Posted in How-To's | Tagged , , , , , | 1 Comment