ReSharper vs. Visual Studio
This document lists some of the features that are provided by ReSharper but are missing or not as fully implemented in bare Visual Studio.
As both products are being actively developed and their functionality changes on a regular basis, we consider this comparison valid for specific releases that are indicated in the header of the comparison table.
Microsoft Visual Studio 2022 17.12 | ReSharper 2024.3 | |
---|---|---|
Code analysis | On-the-fly design-time code analysis for C#, VB.NET, XAML | On-the-fly design-time code analysis for all supported languages (including ASP.NET, XAML, and more) |
800+ code analysis rules (code inspections) | 1600+ code analysis rules (code inspections) | |
Design-time error highlighting: compiler errors for C#, VB.NET, JavaScript, TypeScript, and C++ | Design-time error highlighting: most compiler errors, many possible runtime errors (such as detection of possible null reference exceptions) for all supported languages | |
400+ kinds of code issues that can be fixed automatically | 2100+ kinds of code issues that can be fixed automatically | |
250+ quick actions to resolve code issues in C#, F#, and VB.NET | 1500+ quick-fixes to resolve code issues in C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript and other supported languages | |
Fix All in a document, project, solution, containing member, and containing type | Fix in Scope in a document, project, folder, solution | |
Full solution analysis for C# and VB.NET | Solution-wide error/warning monitor for all supported languages | |
Incoming calls | ||
Integrated ESLint support | Integrated JSLint, ESLint, and TSLint support | |
Reporting all errors and code quality issues in a file | Reporting all errors and code quality issues in any scope, up to the entire solution | |
Code annotations for nullability analysis | Code annotations help analyze solution with greater accuracy (nullability, contracts, etc.) | |
Suggest usings for types in installed NuGet packages | A quick-fix that finds unresolved symbols and namespaces on nuget.org | |
Custom code inspections and fixes with structural search and replace patterns | ||
Analysis of code inside string literals | Analysis of code inside string literals, tags and attributes | |
Track Value Source | Value tracking to analyze value origins and destinations | |
Refactoring | 15 solution-wide refactorings | 60+ solution-wide refactorings |
120+ local refactorings (automated local code transformations) | 500+ context actions (automated local code transformations) | |
Preview of local refactorings | ||
Project-level cleanup refactoring: Sync Namespaces | Project-level cleanup refactorings: Adjust Namespaces, Move Types into Matching Files, and Remove Unused References. | |
Structural replace for same or similar code | ||
Code generation | Create from usage | Create from usage |
Generate code from code snippets (templates) | ||
Generate files from templates | Generate files and file sets from configurable templates | |
Generate type members | ||
Generate null checks for parameters | ||
Visual editor for code snippets (templates) | ||
Build tool | MSBuild | ReSharper Build: out-of-process incremental build tool that optimizes MSBuild and applies heuristics to build only projects that need updating, comes with a built-in NuGet package restorer |
Project-level tools | Multi-project launch configuration | Run configurations for multiple startup projects, static methods, and external executables |
Dependency graph Enterprise | Project Dependency Diagram, Assembly Dependency Diagram, and Type Dependency Diagram that do not require Visual Studio Enterprise Edition and display without compiling anything | |
Assembly explorer to open and navigate inside compiled assemblies | ||
NuGet browser to explore packages, types, and namespaces in the NuGet gallery | ||
Coding assistance | Code completion | Code completion is context-driven, can suggest types and extension methods from the entire solution, import namespaces, generate code, and more |
Syntax highlighting | Syntax highlighting (different configurable colors for more identifier kinds) | |
Auto-import namespaces | Auto-import namespaces with NuGet search for types and namespace | |
Move line or selection up/down | Move line, selection, statement, parameter, member, etc. up/down/left/right | |
Expand/Contract selection | ||
Regular expressions assistance | ||
Pasting items from clipboard history | ||
Inlay hints for parameter names and type names | Inlay hints for parameter names, type names, and type conversions; push-to-hint mode | |
Integrated spell checking | ||
Navigation & search | Code search | Search everywhere |
Go to declaration | Go to declaration that also helps navigate between usages | |
Find references | Find usages of the current and related symbols, including text occurrences | |
Highlight references | Highlight references | |
Go to symbol | Go to symbol | |
Go to type | Go to type | |
Go to file member | Go to file member | |
Go to file | Go to file | |
Code bookmarks | Code bookmarks | |
Navigate to decompiled source | Navigate to decompiled code | |
View recent files | View recent files/recent edits and jump to last edit | |
Quick Launch | Go to action | |
Go to base | ||
Gutter icons for implemented and inherited symbols | Gutter icons for implemented, inherited, and hiding symbols | |
Document outline | ||
View global usings for a file | View and refactor global usings | |
Go to Text | ||
Hierarchy views for projects, project references, types, CSS styles | ||
Task List window | ||
Code style | Reformat code | Reformat code in file, project, or solution, optionally with contextual configuration of formatting rules |
Optimize namespace import directives | Optimize namespace import directives, including bulk fix | |
Configurable code syntax style inspections | ||
Naming style | ||
EditorConfig support | EditorConfig support with File Formatting Info window, which allows exploring all .editorconfig files that affect the current file | |
Code cleanup in file, project, or solution (C#) | Code Cleanup in any scope: selection, file, folder, project, solution (C#, VB.NET, C++, JavaScript, TypeScript, HTML, and other languages) | |
Remove unnecessary usings and unused private members in a file | Remove code redundancies in the scope of a method, a class, a file, a project or the whole solution | |
File header style via EditorConfig | File header style via EditorConfig or settings | |
Organize and reorder file/type members with visual editor | ||
Unit testing | Unit test explorer | |
Testing frameworks support (MSTest, VSTest, xUnit.net) | Testing frameworks support (MSTest, VSTest, xUnit.net, NUnit) | |
Run tests from the editor (MSTest and xUnit.net only) | Run tests from the editor | |
View test status in the editor (MSTest and xUnit.net only) | View test status in the editor | |
Code coverage tools Enterprise | Code coverage tools dotUltimate | |
Live Unit Testing Enterprise | Continuous testing dotUltimate | |
Multiple unit test sessions, which can run simultaneously and independently of one another | ||
Debugger | DataTips in the editor | Searchable DataTips in the editor |
Breakpoints window with grouping and export | Breakpoints window with preview, context search, grouping, and export | |
Method return values are shown in the editor | Values of local variables, current line expressions, and function returns are shown in the editor | |
Managing settings | Synchronize settings via Microsoft ID | Synchronize settings with team via VCS or any file hosting service |
Settings layer system to store different settings for different solutions without conflicts | ||
Security | Detect packages with vulnerabilities | |
Miscellaneous | Diagnostic tools | |
Localized GUI | Localized GUI | |
Free 30-day trial |