What's New in ReSharper 7
This page describes features available in ReSharper 7. The new version provides support for
- Windows 8 and WinRT development
- INotifyPropertyChanged support pack
- Refreshed XAML support
- Generate menu improvements
- Multi-level Alt+Enter menu
- New code inspections and quick-fixes
- Contract annotations
- Remove Unused References from solution
- Initial ASP.NET 4.5 and ASP.NET MVC 4 support
- LightSwitch and SharePoint support
- SDK enabling support for new languages
Support for Visual Studio 2012
ReSharper 7 works in four versions of Visual Studio, including the brand new Visual Studio 2012. It's the level of integration that's most impressive though, as ReSharper supports Asynchronous Solution Loading, makes use of Preview tab for code preview, exposes its features in Visual Studio's Architecture tools, and provides correct colors for both Light and Dark color schemes out of the box.
ReSharper 7 introduces Extract Class refactoring to split cumbersome classes into single-responsibility classes, and Transform Out Parameters to Tuple refactoring for functional style supporters.
Smoother code formatting
Considering that code formatting is a very sensitive area of functionality, we have implemented some of the most demanded code formatter improvements so far. For example, ReSharper 7.1 is able to format XML doc comments and chained method calls.
Easier code review
Reviewing code and sharing ReSharper code inspection results with teammates is now easier, thanks to improved export functionality, as well as a way to copy code inspection items and convert them to work items.
ReSharper's existing Type Hierarchy feature has been extended to support a common code exploration case: invoking it on a polymorphic member now shows type hierarchy which emphasizes in which types this member has or has not been implemented.
CSS Style Hierarchy
This is yet another example of Type Hierarchy extensibility, this time for web developers: You can now take a bird's-eye view on chains of nested CSS selectors.
Find Usages that works everywhere
ReSharper 7 makes it possible to search for usages of files, project folders or arbitrary selections of project items in Solution Explorer. For example, you can select a project folder, invoke Find Usages, and make it show usages of all non-private types and type members in this project folder that are external to that scope.
Unit testing improvements
Improved naming style configuration
Naming style settings in ReSharper are becoming more flexible, particularly due to the introduction of predefined naming styles that allow using lowerCamelCase_WithUnderscores, UpperCamelCase_WithUnderscores and similar mixed styles that are common among unit testing practitioners.
Completion commit settings
Following feedback from Visual Studio's own code completion users, we have introduced an options page called Completion Characters that lets you set whether you want ReSharper to commit a selected completion item on pressing Space, or prevent it from committing on certain characters that you can define. Visual Studio's own language-specific completion options are also taken into account.
Windows 8 and WinRT development
INotifyPropertyChanged support pack
ReSharper 7 introduces code inspections, context actions, code completion, and code generation helpers for those working with INotifyPropertyChanged interface, whether it's WPF, Silverlight, or third-party implementation.
Refreshed XAML support
Since ReSharper 7.1, XAML support is considerably enhanced in many ways including (but not limited to) code completion in bindings and elsewhere; typing assistance for synchronous tag editing; ensuring naming style consistency; and code generation in different scenarios.
Generate menu improvements
One of the key ReSharper coding accelerators available via Alt+Ins has received an update that comprises new actions to generate partial methods and equality comparers, enhancements to Generate Equality Members, and a fair share of INotifyPropertyChanged support.
Multi-level Alt+Enter menu
The pop-up menu that you see when you press Alt+Enter has been extended to hide items that are less relevant. For instance, it makes a huge difference in numerous Create from Usage scenarios when you instantly see the action that you're most probably going to invoke, and other possible actions are hidden on the second menu level.
New code inspections and quick-fixes
One further improvement to the code analysis subsystem is the introduction of contract annotations that allow defining dependencies between method arguments and return values. Using this kind of annotations enables ReSharper to detect unreachable code and other control flow deficiencies.
Remove Unused References from solution
ReSharper provides several ways to get rid of redundant project references since version 6.1 but version 7 takes it to another level, making it easy to just quickly drop all unused references in your entire solution.
Not only can you invoke Remove Unused References exactly once on a solution level but if you can also make it run on an arbitrary set of project items containing references: for example, on a project folder, or a mixed selection of projects and project folders.
Initial ASP.NET 4.5 and ASP.NET MVC 4 support
As Microsoft is promoting updated versions of its web development frameworks, ReSharper starts to provide support for some of their new features, including strongly typed data controls, model binding, and MVC display modes.
LightSwitch and SharePoint support
SDK enabling support for new languages
Considering the ever increasing demand for covering new languages with ReSharper features, ReSharper 7 SDK now enables just that, letting the community and organizations cover new languages and dialects with ReSharper features.