JetBrains Rider vs Visual Studio
(with and without ReSharper)

The goal of this document is to illustrate some points where JetBrains Rider — a standalone .NET IDE — differs from Microsoft Visual Studio, with and without JetBrains ReSharper extension.

As the compared 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.

If you discover any missing or inaccurate items in this table, please post a comment below to let us know, and we'll update the table as soon as possible.

Microsoft Visual Studio 2022 17.1
Microsoft Visual Studio 2022 17.1 + ReSharper 2022.1
JetBrains Rider 2022.1

General

Works for .NET and Front-end code Works for .NET and Front-end code Works for .NET and Front-end code
Works for C/C++ code Works for C/C++ code Works for C/C++ code
Runs on Windows Runs on Windows Runs on Windows, macOS, and Linux
64-bit process 64-bit process 64-bit process

Integrated VCS client

Support for Git and Azure DevOps Support for Git and Azure DevOps Support for Git, Azure DevOps, Mercurial, Perforce, SVN
Visual diff and merge Visual diff and merge Visual diff and merge
Repo history view with filtering by substring Repo history view with filtering by substring Repo history view with filtering by substring, branches, users, dates, paths
History view for a file History view for a file History view for a file or a text selection
No matching functionality No matching functionality Visualize, compare, and revert changes right in the editor
No matching functionality No matching functionality Pre-commit checks and cleanup
No matching functionality No matching functionality Ability to abort Git merge and cherry-pick processes
No matching functionality No matching functionality Multiple repositories in one project
No matching functionality No matching functionality GitHub pull requests view

Dealing with code issues

On-the-fly design-time code analysis for C#, F#, VB.NET, XAML On-the-fly design-time code analysis for all supported languages (including ASP.NET, XAML, JavaScript, TypeScript, HTML and more) On-the-fly design-time code analysis for all supported languages (including ASP.NET, XAML, JavaScript, TypeScript, SASS, LESS, HTML, SQL, XSLT, YAML, and more)
800+ code analysis rules 1500+ configurable code inspections 1600+ configurable 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 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 1900+ kinds of code issues that can be fixed automatically 2000+ kinds of code issues that can be fixed automatically
Roslyn analyzers support Roslyn analyzers support Roslyn analyzers support, also in solution-wide error/warning monitor
250+ quick actions to resolve code issues in C# and VB.NET 1300+ quick-fixes to resolve code issues in C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript, and other supported languages 1500+ quick-fixes to resolve code issues in C#, C++, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript, SQL and other supported languages
Full solution analysis for C# and VB.NET Solution-wide error/warning monitor for all supported languages Solution-wide error/warning monitor for all supported languages
Suggest usings for types in installed NuGet packages A quick-fix that finds unresolved symbols and namespaces on nuget.org A quick-fix that finds unresolved symbols and namespaces on nuget.org
Integrated ESLint support Integrated JSLint, ESLint, and TSLint support Integrated JSLint, ESLint, JSHint, JSCS, and Closure Linter support
Document Health Indicator File status indicator File status indicator
Code annotations for nullability analysis Code annotations help analyze solution with greater accuracy (nullability, contracts, etc.) Code annotations help analyze solution with greater accuracy (nullability, contracts, etc.)
Inline display of error messages No matching functionality No matching functionality
No matching functionality No matching functionality Files with errors are highlighted on editor tabs and in the Solution Explorer
No matching functionality Reporting all errors and code quality issues in any scope, up to the entire solution Reporting all errors and code quality issues in any scope, up to the entire solution
No matching functionality Analysis of code inside string literals, tags and attributes Analysis of code inside string literals, tags and attributes, and SQL queries in C# and other languages.
No matching functionality Custom code inspections and fixes with structural search and replace patterns No matching functionality

Code exploration

Call hierarchy Call hierarchy Call hierarchy
Track Value Source Value tracking to analyze value origins and destinations Value tracking to analyze value origins and destinations
Dependency graph Project Dependency Diagram, Assembly Dependency Diagram, and Type Dependency Diagram that display without compiling anything Project Dependency Diagram
No matching functionality Analyze/optimize unused references and NuGet packages No matching functionality
Map mode with preview for vertical scroll bar Map mode with preview for vertical scroll bar Code Lens (hover over editor scrollbar to preview file text outside of the visible area)
CodeLens (symbol info on declaration) CodeLens (symbol info on declaration) Code Vision (symbol info on declaration)
Peek definition Enhanced peek definition Peek definition in a popup view
Syntax highlighting Syntax highlighting (different configurable colors for more identifier kinds) Syntax highlighting (different configurable colors for more identifier kinds)
Highlight references Highlight usages (read and write with different colors) Highlight usages (read and write with different colors)
Gutter icons for implemented and inherited symbols Gutter icons for implemented, inherited, and hiding symbols Gutter icons for implemented, inherited, and hiding symbols
File members in Solution Explorer File members in Solution Explorer No matching functionality
File members selectors at the top of the editor File members selectors at the top of the editor No matching functionality
File structure (only for WinForms, XAML, HTML) File structure File structure
Task List window To-do explorer with configurable patterns To-do explorer with configurable patterns
No matching functionality Hierarchy views for projects, project references, types, CSS styles Hierarchy view for types

Refactoring

15 solution-wide refactorings 58 solution-wide refactorings 58 solution-wide refactorings
120+ local refactorings (automated local code transformations) 470+ context actions (automated local code transformations) 520+ context actions (automated code transformations)
Project-level cleanup refactoring: Sync Namespaces Project-level cleanup refactorings: Adjust Namespaces, Move Types into Matching Files, and Remove Unused References. Project-level cleanup refactorings: Adjust Namespaces and Move Types into Matching Files.
No matching functionality Structural replace for same or similar code No matching functionality

Code generation

Create from usage Create from usage Create from usage
Generate code from code snippets (templates) Generate code from configurable live, surround, source, and postfix templates Generate code from configurable live, surround, source, and postfix templates
Generate files from templates Generate files and file sets from configurable templates Generate files from templates
Generate type members Generate type members Generate type members
Generate null checks for parameters Generate configurable null checks for parameters Generate configurable null checks for parameters
T4 templates support T4 templates support Limited T4 templates support with an external generator
No matching functionality Visual editor for code templates Visual editor for code templates
No matching functionality Simple way to share custom code templates Simple way to share custom code templates

Build and run

Build with MSBuild Build with MSBuild or with ReSharper Build, out-of-process incremental build tool that only builds projects that need updating, comes with a built-in NuGet package restorer Build with MSBuild or with ReSharper Build, out-of-process incremental build tool that only builds projects that need updating, comes with a built-in NuGet package restorer
Multiple startup projects Multiple startup projects Compound run configuration
No matching functionality Run configurations for running/debugging static methods Run configurations for running/debugging static methods
No matching functionality Build with selected MSBuild version Build with selected MSBuild version

Debugger

Remote debugging Remote debugging Remote debugging
Debug external C# code even without debug symbols, requires some initial configuration Debug external C# code even without debug symbols, requires some initial configuration Debug external C# code even without debug symbols, no configuration is required
DataTips in the editor Searchable DataTips in the editor Searchable DataTips in the editor
No matching functionality Configurable object presentation in DataTips Configurable object presentation (Pin to top)
No matching functionality No matching functionality Configurable stack frames presentation (Pin to frame)
No matching functionality Values of local variables, current line expressions, and function returns are shown in the editor Values of local variables, current line expressions, and function returns are shown in the editor
Memory window Memory window Memory view
WPF Tree Visualizer WPF Tree Visualizer No matching functionality
Live Visual Tree Live Visual Tree No matching functionality
Live Property Explorer Live Property Explorer No matching functionality
Snapshot debugger Snapshot debugger No matching functionality
IntelliTrace IntelliTrace No matching functionality
Breakpoints window Breakpoints window with preview, context search, grouping, and export Breakpoints dialog with search and grouping
Break by condition (thread, process, machine name) Break by condition (thread, process, machine name) Break by condition (thread)
Data breakpoints (.NET Core 3.0+) Data breakpoints (.NET Core 3.0+) Data breakpoints (.NET Core 3.0+)
Run to Cursor, Run to Click Run to Cursor, Run to Click Run to Cursor, Run to Click
No matching functionality No matching functionality Force Run to Statement
No matching functionality No matching functionality Smart Step Into
Edit and Continue Edit and Continue Hot Reload
Immediate Window Immediate Window Immediate Window
Parallel Stacks Parallel Stacks Parallel Stacks
Search in debugger views Search in debugger views Search in debugger views
No matching functionality Find breakpoints by context No matching functionality
Dependent breakpoints Dependent breakpoints Dependent breakpoints
Temporary (remove-once-hit) breakpoints Temporary (remove-once-hit) breakpoints Temporary (remove-once-hit) breakpoints
No matching functionality No matching functionality Method breakpoints
No matching functionality No matching functionality Mono debugging (including remote)

Project-level tools

NuGet package manager NuGet package manager NuGet package manager with instant search
Project templates Project templates Project templates
No matching functionality No matching functionality Rename project refactoring
No matching functionality No matching functionality Coding assistance in .csproj files
Azure-specific tools Azure-specific tools Azure-specific tools
Xamarin-specific tools Xamarin-specific tools Xamarin-specific tools
UWP support UWP support UWP support
MSIX support MSIX support No matching functionality
Issue tracker integration (Azure DevOps, VSTS) Issue tracker integration (Azure DevOps, VSTS) Issue tracker integration for all modern trackers
Visual Studio Live Share Visual Studio Live Share No matching functionality
No matching functionality NuGet browser to explore types and namespaces from the NuGet-gallery packages No matching functionality
No matching functionality No matching functionality Integrated REST client

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 Code completion is context-driven, can suggest types and extension methods from the entire solution, import namespaces, generate code, and more
Auto-import namespaces Auto-import namespaces with NuGet search for types and namespace 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 Move line, selection, statement, parameter, member, etc. up/down/left/right
Expand/Contract selection Extend/Shrink selection Extend/Shrink selection
WPF visual designer WPF visual designer WPF preview
WinForms visual designer WinForms visual designer WinForms visual designer
Pasting items from clipboard history Pasting items from clipboard history Pasting items from clipboard history
Regular expressions assistance in C# and VB.NET Regular expressions assistance in C#, JavaScript, TypeScript, and JSON, plus regular expression validator Regular expressions assistance in C#, JavaScript, TypeScript, JSON, and SQL
Quick Info Quick Documentation Quick Documentation
No matching functionality Structural navigation with Tab/Shift+Tab Structural navigation with Tab/Shift+Tab
No matching functionality Structural remove Structural remove
l Inlay hints for parameter names and type names Inlay hints for parameter names, type names, and type conversions; push-to-hint mode Inlay hints for parameter names, type names, and type conversions; push-to-hint mode
No matching functionality Completion of entire code statements Completion of entire code statements
No matching functionality Integrated spell checking Integrated spell checking
No matching functionality Localization assistance Localization assistance
No matching functionality Auto-correction of escape sequences in pasted string literals Auto-correction of escape sequences in pasted string literals
No matching functionality No matching functionality Local history (tracking uncommitted changes)
No matching functionality No matching functionality Scratches (files and buffers for prototyping)
Go to implementation Go to base symbols, derived symbols, and end implementations Go to base symbols, derived symbols, and end implementations
Find references Find usages of the current and related symbols, including text occurrences Find usages
View recent files View recent files/recent edits and jump to last edit View recent files/recent edits and jump to last edit
Code bookmarks Code bookmarks Code bookmarks
No matching functionality Navigate to exposing APIs Navigate to exposing APIs
No matching functionality Go to related and nearby files No matching functionality
No matching functionality No matching functionality Breadcrumbs for project structure and document structure
Local and global Find/Replace Local and global Find/Replace + instant index-based search with Go to text Local and global Find/Replace (index-based, with filters, e.g. except literals or only in comments)
Go to symbol Go to symbol Go to symbol
Go to type Go to type Go to type
Go to file member Go to file member Go to file member
Go to file Go to file Go to file
Quick Launch Find actions and settings Find actions and settings
No matching functionality Structural search and replace No matching functionality

Compiled-code tools

Integrated decompiler (ILSpy) Integrated decompiler (dotPeek) Integrated cross-platform decompiler (dotPeek)
Object Browser Object Browser + Assembly explorer to open and navigate compiled assemblies Assembly explorer to open and navigate compiled assemblies
Navigate to decompiled source (only when debugging) Navigate decompiled code Navigate decompiled code
Stack trace explorer Stack trace explorer Stack trace explorer
No matching functionality Intermediate Language (IL) Viewer Intermediate Language (IL) Viewer

Code style

Reformat code in file Reformat code in file, project, or solution, optionally with contextual configuration of formatting rules Reformat code in file, project, or solution, optionally with contextual configuration of formatting rules
Granular formatting rules (e.g. ~45 rules for C#) Granular formatting rules (e.g. ~220 rules for C#) Granular formatting rules (e.g. ~220 rules for C#)
Optimize namespace import directives Optimize namespace import directives, including bulk fix Optimize namespace import directives, including bulk fix
Configurable code syntax style inspections Configurable code syntax style inspections Configurable code syntax style inspections
Naming style Naming style Naming style
No matching functionality Auto-detection of naming and formatting styles Auto-detection of naming and formatting styles
EditorConfig support EditorConfig support EditorConfig support
Visual editor for .editorconfig files Visual editor for .editorconfig files Coding assistance and navigation in .editorconfig files
No matching functionality Clang-Format support Clang-Format support
Code Cleanup in file, project, or solution (C#) Code Cleanup in any scope: selection, file, folder, project, solution (C#, VB.NET, JavaScript, TypeScript, HTML, and other languages) Code Cleanup in any scope: selection, file, folder, project, solution (C#, VB.NET, JavaScript, TypeScript, HTML, and other languages)
Run code cleanup on save Run code cleanup on save and cleanup recently modified files Run code cleanup on save and before VCS commit
File header style via EditorConfig File header style via EditorConfig or settings File header style via EditorConfig or settings
No matching functionality Remove code redundancies in the scope of a method, a class, a file, a project or the whole solution Remove code redundancies in the scope of a method, a class, a file, a project or the whole solution
No matching functionality Use comments to configure formatter Use comments to configure formatter
No matching functionality Align code in columns Align code in columns
No matching functionality File/type member layout with visual editor File/type member layout with XAML pattern

Unit testing

Unit test explorer Unit test explorer Unit test explorer
.NET testing frameworks support (MSTest, VSTest, xUnit.net) .NET testing frameworks support (MSTest, VSTest, xUnit.net, NUnit) .NET testing frameworks support (MSTest, VSTest, xUnit.net, NUnit)
C/C++ testing frameworks support (Microsoft Unit Testing Framework for C++, Google Test, Boost.Test, CTest) C/C++ testing frameworks support (Google Test, Boost.Test, Catch, doctest) C/C++ testing frameworks support (Google Test, Boost.Test, Catch, doctest)
No matching functionality JavaScript testing frameworks support (QUnit, Jasmine) JavaScript testing frameworks support (QUnit, Jasmine, Cucumber.js, Jest, Karma, Mocha, Protractor)
Run tests from the editor (MSTest and xUnit.net only) Run tests from the editor Run tests from the editor
View test status in the editor (MSTest and xUnit.net only) View test status in the editor View test status in the editor
Code coverage tools Code coverage tools Code coverage tools
Live unit testing Continuous testing Continuous testing
No matching functionality Multiple unit test sessions, which can run simultaneously and independently of one another Multiple unit test sessions, which can run simultaneously and independently of one another
No matching functionality Repeat tests until failure Repeat tests until failure

Database tools

Built-in support for MS Access and ODBC Built-in support for MS Access and ODBC No matching functionality
Built-in support for SQL Server, Azure SQL, Oracle Built-in support for SQL Server, Azure SQL, Oracle Built-in support for SQL Server, Azure SQL, Oracle
No matching functionality No matching functionality Built-in support for MySQL, Postgre SQL, Sqlite, Sybase, DB2, Derby, H2 HSQLDB, MongoDB, Couchbase
Database projects support (*.sqlproj) Database projects support (*.sqlproj) No matching functionality
SQL editing tools SQL editing tools SQL editing tools (including navigation, templates, quick-fixes)
No matching functionality No matching functionality SQL editing tools inside string literals in C#, VB.NET, JavaScript, TypeScript, etc.

Managing settings

Synchronize settings via Microsoft ID Synchronize settings with team via VCS or any file hosting service Synchronize settings with team via VCS, JetBrains Account, or any file hosting service
No matching functionality Settings layer system to store different settings for different solutions without conflicts Settings layer system to store different settings for different solutions without conflicts

Game development

See detailed comparison of Unity-related features
Basic Unreal Engine support Productivity features for Unreal Engine projects Productivity features for Unreal Engine projects
No matching functionality Unreal Engine testing framework support Unreal Engine testing framework support

Miscellaneous

Interactive installer that allows reconfiguring existing installation Interactive installer that allows reconfiguring existing installation Interactive installer
Diagnostic tools Diagnostic tools + Integrated performance and memory profilers Integrated performance profiler
Localized GUI Localized GUI (only Visual Studio) No matching functionality
Plugin ecosystem Plugin ecosystem Plugin ecosystem
No matching functionality No matching functionality Remote development support
Download
Free 30-day trial