Skip to content

ReSharper

The Visual Studio Extension for .NET Developers

Are you tired of dealing with tedious and time-consuming code editing tasks? Introducing JetBrains ReSharper, the ultimate productivity tool for Visual Studio. Imagine increasing your coding speed by over 50%, finding and fixing errors in seconds, and having intelligent code suggestions at your fingertips. ReSharper has been trusted by thousands of developers to improve their workflow and boost their efficiency. Don’t miss out on this opportunity to take your development to the next level.

ReSharper gives you on-the-fly code quality analysis available in C#, VB.NET, XAML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, CSS, HTML, and XML. You’ll know right away if your code needs to be improved. Not only does ReSharper warn you when there’s a problem in your code, but it provides hundreds of quick fixes to solve problems automatically. You can instantly navigate and search through the whole solution. Jump to any file, type, or type member, or navigate from a specific symbol to its usages, base and derived symbols, or implementations.

About

Why ReSharper?

How ReSharper helps Visual Studio users

Analyze code quality

On-the-fly code quality analysis is available in C#, VB.NET, XAML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, CSS, HTML, and XML. You’ll know right away if your code needs to be improved.

Eliminate errors and code smells

Not only does ReSharper warn you when there’s a problem in your code, but it provides hundreds of quick fixes to solve problems automatically. In almost every case, you can select the best quick fix from various options.

Safely change the code base

Automated solution-wide code refactorings help you safely change your code base. Whether you need to revitalize legacy code or put your project structure in order, you can rely on ReSharper.

Instantly traverse the entire solution

You can instantly navigate and search through the whole solution. Jump to any file, type, or type member, or navigate from a specific symbol to its usages, base and derived symbols, or implementations.

Enjoy code editing helpers

Multiple code editing helpers, including extended IntelliSense, hundreds of instant code transformations, auto-importing namespaces, rearranging code, and displaying documentation.

Comply with coding standards

Code style and formatting functionality with fine-tuned, language-specific settings will help you eliminate unused code and create a common coding standard for your team.


ReSharper makes Visual Studio a much better IDE

Code analysis

ReSharper extends Visual Studio with over 2200 on-the-fly code inspections for C#, VB.NET, ASP.NET, JavaScript, TypeScript and other technologies. For most inspections, ReSharper provides quick fixes (light bulbs) to improve the code.

Find and remove unused code? Migrate your code to the latest C# version? Convert loops to LINQ at will? Find and prevent possible exceptions? Use a common naming standard? All that and many more code improvements are made possible with ReSharper’s code analysis.

Refactorings

60+ refactorings and 450+ context actions help safely organize code and move it around the solution, distribute responsibility, decouple, decrease complexity, or simply use alternative language syntax.

Navigation and search

ReSharper helps instantly get to any code in a solution, no matter how large the solution is. It can also navigate you from any symbol to its related code such as implementations of a given interface, extension methods of a class, or usages of a field.

navigation and search with ReSharper
Code formatting and cleanup in ReSharper

Code formatting and cleanup in ReSharper

Configure and apply code style based on your personal preferences or your team standard. Code style and formatting settings for C#, VB.NET, ASP.NET, JavaScript, TypeScript and other languages can be applied in any scope, from a selection to a solution.

Code generation

ReSharper can create a lot of code for you: from new files and classes to conditional blocks and GUIDs; from methods and properties required by an interface being implemented to equality checks and formatting members.

Code generation

News

What’s new in ReSharper 2022.3


C# 11

  • UTF-8 literals
    Added basic support for UTF-8 literals. The code analysis now suggests using a u8 suffix for a literal instead of the System.Text.Encoding.UTF8.GetBytes() method or a byte array with proper UTF8 symbols. There is also a set of compiler warnings and errors for UTF-8 literals.
  • File-local type
    Added basic support for file-local types which includes understanding of the new syntax, a file accessibility modifier for types, and compiler warnings and errors with corresponding quick-fixes, like Move class to outer scope when the file modifier is specified for a nested class. There is also a useful context action to convert a general type to a file one.
  • Raw strings
    ReSharper can now convert regular and verbatim strings into their raw counterparts. This also means that numerous existing features for strings are now available for raw strings.
  • List pattern suggestions
    Introduced suggestions to use the new C# 11 list pattern syntax (instead of conventional collection length checks with subsequent indexer access expression) to check the corresponding items of the collection.
  • Static virtual members
    Starting from C# 11, you can use abstract and virtual modifiers for static members in interfaces and use such members in generic code with type parameters constrained by this interface. ReSharper has been updated to handle polymorphic static members the same way ordinary polymorphic members are handled:
  • Inheritance marks on the gutter.
  • Navigation to implementing/super members.
  • Generation of missing implementations.
  • Code completion suggestions after the override keyword also include interface members, so now you can easily implement abstract or virtual static members.
  • Unsigned right shift (>>>) operator – ReSharper now recognizes the cumbersome code pattern that C# developers have to write to perform an unsigned right shift for signed data types and suggests using the unsigned right shift (>>>) operator in C# 11 instead.
  • Pattern matching over spans – If you parse Spans of characters you probably use the MemoryExtensions.SequenceEqual method a lot. C# 11 introduces a shorthand for this kind of check. You can now simply pattern-match Spans of characters against string literals with is or switch expressions. ReSharper now suggests using is or switch expressions instead of lots of if statements.
  • ref fields and scoped keyword
  • Starting from C#11, you are allowed to declare ref fields inside ref structs. ReSharper supports this new syntax rule, provides all compiler errors and warnings, shows a ref keyword in the code completion, and allows such fields to be initialized in a constructor.
  • ReSharper is also aware of a new scoped keyword which you can use on by-ref or ref struct arguments and local variables. The support includes correct parsing of the new syntax, the scoped keyword in code completion, and preservation of the scoped keyword when generating method overrides. It also verifies the compatibility of scoped modifiers and offers quick fixes for mismatched scoped parameters on overrides, interface implementations, and delegate conversions.
  • C# 11 and Microsoft .NET 7 also introduced changes in the language’s ref safety rules. The changes govern what operations are available for by-ref and ref struct variables in order to provide ref safety in managed code with the introduction of ref fields. ReSharper is now aware of the changes and will help you find the parts of your project that need to be updated and annotated with the new scoped keyword to accommodate the changes when migrating to C# 11 or .NET 7.

Language injections

  • Introduced a couple of changes to the support for language injections:
  • Language injections now work inside C# 11 raw string literals.
  • ReSharper supports the [StringSyntax] attribute from .NET 7, along with its different syntaxes for language injection and code completion.

General C# updates

  • Global imports gutter mark
    Added a new gutter mark icon to notify users about implicit namespace imports in C# and Razor files.
  • Format string completion
    With the addition of Int128 and UInt128 numeric types in .NET 7, code completion format specifier suggestions have been updated. Missing support for DateOnly and TimeOnly date/time types from .NET 6 has also been added, as well as the half-precision floating point numeric type introduced in .NET 5.
  • Trivial patterns to expressions
    Sometimes after refactoring, your pattern-matching expressions may turn into trivial recursive patterns. At this point it may not be worthwhile to use the recursive pattern syntax at all, so ReSharper now offers the action of rewriting patterns into simpler expressions while preserving the original pattern-matching semantics.
  • Code completion hints for a void expression
    Sometimes when you type after an invocation, you see hardly any meaningful suggestions. This can happen if the invocation resulted in no value being produced when the void-returning method was invoked. Usually it takes a few IDE actions to realize that (going back and navigating to the method declaration, or hovering the mouse over the invocation). In this release we’ve introduced the void hint item over this type of void-returning invocation to give you immediate feedback about the type resulting from the invocation. Accepting this void item will add a semicolon after the invocation if the semicolon is missing.

Code highlighting

  • Code highlights and squiggles in ReSharper have received an overhaul. Due to a difference in internal logic, ReSharper used to come into conflict with Microsoft Roslyn’s code style analyzers, causing it to display overlapping highlighting, draw the same highlight in different spots, or double the squiggles. The differences in logic behind the majority of such instances have now been resolved, and for the rare outlier cases, there are errors with clear suggestions on how to resolve the conflict.

Security

  • Whenever you’re using open-source NuGet packages in your solutions, there’s a risk of opening your project up to security vulnerabilities. Vulnerable dependency detection has been added in ReSharper. Starting with this release, any affected dependencies will be highlighted in .csproj and .vbproj files.
  • Support for Microsoft Visual Studio 2022 ARM64
  • ReSharper can now be integrated into Microsoft Visual Studio on ARM-powered devices. Initial support is being provided for all basic development workflows except spell-checking with ReSpeller.
  • The installer has been updated to include support for both x64 and ARM64. The correct version will automatically be installed in accordance with the processor architecture of your machine.
  • Support for Microsoft Windows ARM64
  • dotPeek, dotMemory, dotTrace, and dotCover, as well as ReSharper command-line tools, now support Windows ARM64.

Decompiler

  • Embedded decompiler in ReSharper now comes with support for:
  • static abstract and static virtual members in interfaces.
  • Generic attributes.
  • User-defined checked operators.
  • Unsigned right shift operator.

IL Viewer

  • The IL Viewer tool window is now able to decompile code into different levels of C# language constructs. There are two C# levels available: high-level, with certain syntax constructs simplified using the latest language features, and low-level, for cases when you want to know how these syntax constructs are desugared.

Dependency diagrams

  • ReSharper now allows you to save and import type and project dependency diagrams in the GraphML format, preserving the ability to use the diagram as a code map and to navigate through dependencies quickly.

Dynamic Program Analysis

  • Dynamic Program Analysis (DPA) has new inspections that let you find various issues related to database usage, namely:
  • Long command execution times.
  • Too many database connections.
  • Too many simultaneously executed database commands.
  • Commands returning too many records.
  • The new inspections are available for all applications that use Microsoft Entity Framework Core and a .NET data provider for Microsoft SQL Serv

C++20 modules

  • ReSharper C++ adds experimental support for C++20 modules. The language engine and many of the ReSharper C++ features have been updated to work with the new compilation model, supporting both named modules and header units.

Clang-format integration

  • ReSharper C++ now provides seamless integration with clang-format. You can now switch between ReSharper’s own formatting engine and the built-in or a custom clang-format binary for formatting files. ReSharper C++ runs clang-format in a separate process, ensuring full compatibility with the industry-standard formatter, as well as better performance and a more extensive range of formatting options.

Fixes

  • Fixed an issue with the screen blinking while typing before and after hints appear.
  • Fixed a bug causing a false positive error when using C# 11 generic math.
  • Fixed an error causing ReSharper to display Unicode escape sequences instead of invalid characters in high-level C# identifiers in ILViewer.
  • Fixed an error causing tests to disappear from a unit test session when grouping by duration and category.
  • Restored XAML settings under Settings | Editor | Inspection Settings | Inspection Severity.
  • Fixed ReSharper’s failure to load non-localized template macros from plugins.

System

System requirements for ReSharper

  • Xcode 12.5-13.3
  • macOS 11 or higher
  • 2 GB free RAM minimum, 8 GB of total system RAM recommended
  • 2.5 GB hard disk space, SSD recommended
  • 1024×768 minimum screen resolution

Licensing

License Options

JetBrains uses a subscription-based licensing model, allowing you to purchase yearly subscriptions that include all bug-fix updates. The new licensing model also includes perpetual fallback license grants. When purchasing an annual subscription, you will immediately get a perpetual fallback license for the exact version available at the time of your purchase.

Commercial Annual Subscription for legal entities, including companies and organizations (both for-profit and non-profit), requiring the software for general commercial use. A legal entity may use the software under the Business Subscription on any computer, operating system, and by any developer within a legal entity, provided that the total number of concurrent users never exceeds the number of subscriptions purchased by that legal entity.

Commercial Annual Subscription includes

  • Free unlimited email access to technical support and online support resources for the period of the Business Subscription
  • Free generally available bug fix upgrades, minor releases and major releases for the licensed JetBrains IntelliJ IDEA edition for the period of the Business Subscription
  • Available to any legal entity (companies and organizations, including non-profit and government)
  • The license is owned by the legal entity, not by an individual
  • Non-transferable restriction: The software is restricted to the legal entity with no right to transfer. Companies and organizations can only transfer their licenses between employees and contractors
  • The licensed purpose of the use is general commercial usage
  • Multi-user license – the total number of concurrent software users cannot exceed the number of purchased subscriptions
  • The license term is time-limited, based on yearly subscription payments
  • Perpetual fallback license: Your license is NOT perpetual. The new licensing model includes perpetual fallback license grants. A perpetual fallback license is a license that allows you to use a specific version of the software after your Business Subscription expires. The specific version of the software you can fall back to using when your Business Subscription expires will be the exact version available at the time of your purchase.

Comparison of Commercial and Personal License

Commercial Licence (Business and Organizations)

  • Available to: Any legal entity (companies and organisations, including non-profit and government)
  • Multi-user license: Yes, the total number of concurrent software users cannot exceed the number of purchased subscriptions
  • License term: Time-limited, based on monthly and yearly subscription payments
  • Fallback License grant: Yes, 12 preceding months of uninterrupted subscription payments are required

Personal Licence (Individual)

  • Available to: Private individuals purchasing with their own funds. Cannot be purchased or reimbursed by companies
  • Multi-user license: No, the software can be used solely by the person who purchased a subscription
  • License term: Time-limited, based on monthly and yearly subscription payments
  • Fallback License grant: Yes, 12 preceding months of uninterrupted subscription payments are required

Support

ReSharper Support

In the subscription, the following Support and Maintenance with JetBrains is included.

  • Unlimited access to technical support via e-mail
  • Free upgrades to all minor and major releases, including bug fixes