Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

ReSharper 4.5 Beta: Faster and sharper than ever

24 Mar 2009 1  
ReSharper, the intelligent productivity tool for Visual Studio, is more agile and robust than ever. Version 4.5, now in beta, improves performance, memory usage and solution-wide analysis and adds VB9 support, refactoring enhancements, and other productivity boosters.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Introduction

ReSharper is undoubtedly the most intelligent add-in to Microsoft Visual Studio. It comes equipped with a rich set of features that greatly increase the productivity of C# and Visual Basic.NET developers. With ReSharper, you get in-depth code analysis, intelligent coding assistance, on-the-fly error highlighting, solution-wide analysis, quick error correction, code formatting & cleanup in one go, industry-leading set of automated code refactorings, advanced integrated unit testing solution, and powerful solution-wide navigation and search. Essential ReSharper features are available in C#, VB.NET, XML, ASP.NET, XAML, and build scripts. ReSharper provides extensive cross-language functionality for C# and VB.NET which enables .NET developers to efficiently handle mixed projects.

Interested? Find out more about ReSharper 4.1 Key Features below.

About ReSharper 4.5 Beta

Just recently, we've unleashed the long-awaited ReSharper 4.5 Beta!

After significantly expanding the set of ReSharper features in previous releases, we've shifted focus to the issues of performance and memory usage. Making the tool more agile, robust and responsive was our main goal when developing ReSharper 4.5. Facing the challenge common to all modern productivity-enhancing tools for developers, we've managed to provide strong performance levels in major areas. Particularly, ReSharper 4.5 loads solutions and websites about 30% faster, searches for commonly used members more than twice as fast as version 4.1, takes approximately 45% time less than before on typing and IntelliSense assistance. Memory consumption on analyzing large files has been greatly reduced, which should benefit ASP.NET and LINQ to SQL developers. Overall, the range of solutions that ReSharper is able to handle without degrading responsiveness has now grown wider than ever.

ReSharper Performance Improvements

ReSharper Performance Improvements

ReSharper 4.5 also brings a wide-ranging set of improvements that go way beyond performance enhancements:

  • New solution-wide warnings and suggestions: Analyze usage of non-private types and type members on-the-fly within your whole solution.
  • Visual Basic 9 support: ReSharper's cross-language refactorings and editing experience enhancements now support VB9 code, including implicitly typed local variables, object initializers, anonymous types, extension methods, and more.
  • Improved setup for naming conventions: You can now define custom naming style settings for different languages and symbols, and precisely align the way ReSharper completes and generates code with your specific coding guidelines.
  • New Inline Field refactoring and productivity enhancements in existing refactorings.
  • Go to Implementation: Go from usage of a base type or member straight to any of its end implementations, bypassing intermediate abstract classes and/or interfaces.

To get your hands on the public beta, download it now! Remember: the official release is just a few weeks away!

ReSharper Key Features

In-depth Analysis of C# 3.0 Code

Error highlighting and quick-fixes in ReSharper

ReSharper analyzes errors and warnings in your C# code across your whole solution and highlights them in the editor on the fly (while you type). For most errors it offers to solve the problem instantly, with intelligent quick-fixes. It also offers code suggestions and hints, which provide insights into code structure and logic to draw your attention to potential design flaws. You can also annotate your code to make ReSharper analyze it even better.

ReSharper provides comprehensive support for C# 3.0, including LINQ, implicitly typed locals and arrays, extension methods, automatic properties, lambda expressions, object & collection initializers, anonymous types, expression trees, and partial methods. Whenever there's an error or inefficiency in your C# 3.0 code, ReSharper will let you know instantly.

Advanced Coding Assistance

ReSharper suggests importing a namespace in C#ReSharper suggests importing a namespace in VB.NET

ReSharper offers a number of shortcuts for streamlining common coding tasks to increase your productivity and save your time. In the screenshot above, ReSharper smartly suggests to insert a missing using or Import directive right after you've entered a type name. It also enables you to quickly generate code using various code templates, view documentation for types and their members right in the editor, and perform code transformations using the so-called "context actions", and a lot more.

ReSharper provides Import Symbol Completion for VB.NET

ReSharper extends and improves native Visual Studio IntelliSense with three types of Code Completion. Symbol Completion only suggests types accessible at the current location. Smart Completion works at the right-hand side of assignments, filtering the list of methods and variables to match the expected type of expression. Import Symbol Completion, completes the names of types and extension methods available in the current project; it also automatically adds the appropriate using directives when necessary. In addition, there's Complete Statement - a feature that inserts necessary syntax elements (braces, semicolons etc.) and gets you to the position to start the next statement, all with a single shortcut.

Numerous Code Refactorings

ReSharper provides the richest set of automated code refactorings for C# 3.0 and VB8 available in the Visual Studio ecosystem:

Change Signature Copy Type Make Method Non-Static (Non-Shared)
Convert Abstract Class to Interface Encapsulate Field Make Method Static (Shared)
Convert Anonymous to Named Type Extract Class from Parameters Move Static Member
Convert Extension Method to Plain Static Extract Interface Move Type to Another File or Namespace
Convert Indexer (Default Property) to Method Extract Method Move Type to Outer Scope
Convert Interface to Abstract Class Extract Superclass Pull Members Up
Convert Method to Indexer (Default Property) Inline Method Push Members Down
Convert Method to Property Inline Variable Rename
Convert Property to Auto-Property Introduce Field Replace Constructor with Factory Method
Convert Property to Method(s) Introduce Parameter Safe Delete
Convert Static to Extension Method Introduce Variable Use Base Type where Possible

Each code refactoring analyzes the entire scope of the code selection to which it is applied (which can be as wide as your whole solution), including cross-language code, and uses this insight to update the code structure in the most intelligent way possible. You can rename, move, and safe delete symbols; introduce and inline fields, variables, and parameters; convert properties to auto-properties and methods, static to extension methods, and a lot more. In addition, all kinds of simpler code transformations (which are just as convenient and useful) are made possible with Quick-Fixes and Context Actions.

Navigation and Search

Whenever you need to find a certain type, field, method, or any other symbol, ReSharper provides you with a variety of ways to do it. You can find a symbol by name, navigate to a symbol declaration from its reference in the code, or find and highlight symbol usages. You can also use a single shortcut for all navigation actions available at the current position, called Navigate From Here.

Navigate to usages, declarations, base types, inheritors, and more, with ReSharper's navigation features

In addition, ReSharper enables you to thoroughly review type hierarchies and file structures, with its dedicated tool windows that are smartly integrated into the Visual Studio user interface.

ReSharper extends the set of navigation and search features with Recent Edits, a drop-down list that shows files and symbols that you recently modified.

Code Cleanup

Code Cleanup is a shortcut for a dozen of ReSharper features, letting you reformat your code according to a customizable style, arrange 'this' qualifier, remove code redundancies, convert properties with backup fields to auto-properties, make fields read-only if possible, optimize using directives, shorten qualified references, update file header, replace explicit types with vars, and revamp your C# code with many more settings.

Reformat your code, remove code redundancies, and migrate to C# 3.0 with ReSharper's Code Cleanup

For VB.NET, you can optimize 'import' directives, shorten qualified references, and reformat your code according to a formatting style. Code Cleanup works in batch mode, so that you can instantly clean the whole project or even solution.

Cross-Language Functionality

For mixed C# and VB.NET projects, ReSharper helps you keep all parts of code working together smoothly and navigate around your code with ease.

Find usages of symbols in your solution across languages

All navigation and search actions take code in all languages into account, including C#, VB.NET, ASP.NET, and XAML. You can navigate to usages, declarations, inheritors, base types and more - across languages. Automated reference correction resulting from the use of refactorings, context actions or quick-fixes also covers both major languages whenever possible. Unit testing is available and equally useful for unit tests written in either C# or VB.NET.

ASP.NET Support

ReSharper's Code Completion in ASP.NET markup

Now, you can edit ASP.NET files with both pleasure and increased productivity. Take advantage of error highlighting, quick-fixes, context actions, coding assistance, navigation, refactoring, and other features. With ReSharper, you can edit and refactor C# code within ASP.NET as well as Web control properties and events, data sources, and content placeholders, without hassle.

XML Support

ReSharper's quick-fix for XML

ReSharper offers a number of time-saving XML features, including type completion; navigation to referenced types; highlighting, replacing and moving tags; navigating between tags and to opening/closing tags; useful coding assistance; and live templates.

XAML Support

ReSharper's Smart Code Completion in XAML

XAML features include XML editing in XAML code, all of ReSharper's standard code completion features, several refactorings (including Rename refactoring), and on-the-fly error, syntax and semantic analysis. The screenshot above shows how Smart Code Completion works in XAML resources.

Integrated Unit Testing

ReSharper's unit testing tools

ReSharper automatically detects unit tests in your code and offers comprehensive unit testing support. You are able to run and debug tests right from the code editor. At the same time, a dedicated Unit Test Explorer window lets you see the structure of your unit tests and run any combination of tests in one or more unit test sessions.

ReSharper's Unit Test Explorer

NAnt and MS Build Scripts Editing

ReSharper's quick-fix for a NAnt build script

Advanced editing capabilities, previously available only for C#, are now extended to NAnt and MSBuild scripts. Full coding assistance, many navigation and search features, File Structure, on-the-fly error highlighting, and quick-fixes are provided for build scripts.

To get the full story on ReSharper's feature set, please visit the ReSharper Features page.

Why ReSharper

With unparalleled support for C# 3.0, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality, ReSharper is sure to satisfy more Visual Studio developers than ever before.

The tool decreases the time you spend on routine, repetitive handwork and gives you more time to focus on the task at hand. Its robust set of features for automatic error-checking and code correction cuts development time and increases your efficiency. You'll find that ReSharper quickly pays back its cost in increased developer productivity and improved code quality. With ReSharper, .NET developers can experience what we mean when we say "Develop with pleasure!"

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here