How-To's

ReSharper 5.1: Bug Fixes, Performance, XAML 2009

ReSharper 5 gets its first official update today with the launch of the new ReSharper 5.1, the bug fix and performance tuning release that additionally features support for XAML 2009.

As expected, integrating with the new Visual Studio turned out to be one of the greatest challenges for ReSharper developers. It took us 2.5 months to collect feedback from 5.0 RTM and 5.1 EAP users all around the world, reproduce integration problems and other kinds of issues, fix them, and finally come up with something that we’re ready to make an official bug fix release.

ReSharper 5.1 release brings together lots of critical issues resolved in prior nightly builds. Improvements include:

  • Typing latency in ASP.NET Web Forms and MVC projects is considerably reduced.
  • Markup files in in ASP.NET projects don’t lose references to code-behind files when saving files.
  • No more error highlighting over good code in web projects without obvious reasons (for example, on saving files.)
  • Visual Studio crashes triggered by ReSharper activity in several scenarios are diagnosed and fixed.
  • No more memory leak on closing and reopening solutions in Visual Studio 2010.
  • Ctrl+click (Go to Declaration) in Visual Studio 2010 now works consistently, without forcing you to click a code symbol multiple times.
  • Dialogs and tool windows that use tree controls are now rendered much faster than before.
  • Splitting Visual Studio text editor tabs does not hide ReSharper features in neither tab.
  • Silverlight 4 support is fixed: when developing server-side and client-side assemblies in Silverlight 4, you don’t get false error highlighting anymore.
  • Encoding issues are over: specifically, adding Cyrillic comments and creating custom controls in WPF projects doesn’t change file encoding.
  • The locale doesn’t anymore change based on Windows locale during ReSharper refactorings.

Here’s the complete release notes.

If you’re still experiencing serious issues with ReSharper 5.1, please check against the Known Issues and Workarounds blog post to make sure that your problems are not related to Visual Studio itself or another external tool. If you’re still experiencing issues, you know where to find our bug tracker.

In addition to bug fixes, ReSharper 5.1 introduces support for XAML 2009 that includes highlighting and quick-fixes for language errors.

To illustrate this, let’s take a language version downgrade scenario: say you’re working on a WPF project where only XAML 2006 is allowed there but you’ve got a generic object from XAML 2009. First of all, ReSharper highlights the object as an error:

When you press Alt+Enter on the highlighting, there’s a quick-fix in the list where ReSharper suggests to declare a type inherited from System.Collections.Generic.List<string>:

When you apply the quick-fix, ReSharper makes two things. First, it creates a new .cs file where it declares a new wrapper type that inherits from List<string>:

Second, in the original XAML file, it deletes the TypeArguments attribute, changes the type of the object to the new wrapper type, and inserts a new namespace directive if necessary:

With this ReSharper 5.1 release, we’re closing the ReSharper 5.1 Early Access Program in order to focus on ReSharper 6 development. We’re really hoping that critical issues that affect multiple users are firmly behind us and we won’t have to reopen the 5.1 EAP.

Download ReSharper 5.1

image description