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 2019 16.0
Microsoft Visual Studio 2019 16.0 + ReSharper 2019.2
JetBrains Rider 2019.2

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 No matching functionality
Runs on Windows Runs on Windows Runs on Windows, macOS, and Linux
32-bit process 32-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 Visual diff 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, revert changes in the editor
No matching functionality No matching functionality Pre-commit checks and cleanup
No matching functionality No matching functionality Smart checkout (shelf-checkout-unshelve with a single command)
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# and VB.NET 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)
440+ code analysis rules 1240+ configurable code inspections 1300+ 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
270+ kinds of code issues that can be fixed automatically 1700+ kinds of code issues that can be fixed automatically 1750+ 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
150+ quick actions to resolve code issues in C# and VB.NET 1200+ quick-fixes to resolve code issues in C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript, and other supported languages 1300+ quick-fixes to resolve code issues in C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript, SQL and other 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
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, with error highlighting in 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 Code annotations help analyze solution with greater accuracy (nullability, contracts, etc.) Code annotations help analyze solution with greater accuracy (nullability, contracts, etc.)
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
No matching functionality 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 No matching functionality
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 Peek definition No matching functionality
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)
No matching functionality Indication of type inheritors and method overrides in the editor Indication of type inheritors and method overrides in the editor
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
No matching functionality Hierarchy views for projects, project references, types, CSS styles Hierarchy view for types
No matching functionality Solution-wide to-do explorer with configurable patterns Solution-wide to-do explorer with configurable patterns

Refactoring

12 built-in automated refactorings 55 automated refactorings 52 automated refactorings
No matching functionality All refactorings are cross-language All refactorings are cross-language
No matching functionality Cleanup refactorings: automatically adjust namespaces, move types into matching files, and remove unused references. Cleanup refactorings: automatically adjust namespaces and move types into matching files.
No matching functionality 400+ context actions (automated code transformations) 400+ context actions (automated code transformations)
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
No matching functionality 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 Pin members to customize object presentation
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+) No matching functionality
Run to Cursor, Run to Click Run to Cursor, Run to Click Run to Statement
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 Edit and Continue
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
No matching functionality No matching functionality Dependent breakpoints (activated if another specified line or exception breakpoint is hit)
No matching functionality No matching functionality Temporary (remove-once-hit) 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
No matching functionality Quick documentation popup Quick documentation popup
No matching functionality Parameter name hints for method calls Parameter name hints for method calls
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 Structural navigation with Tab/Shift+Tab Structural navigation with Tab/Shift+Tab
No matching functionality No matching functionality Breadcrumbs for project structure and document structure
No matching functionality No matching functionality Favorites list (quick access to files, folders, bookmarks, breakpoints)
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
No matching functionality 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
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 styles
EditorConfig support EditorConfig support with File Formatting Info window which allows exploring all .editorconfig files that affect the current file EditorConfig support with coding assistance and navigation in .editorconfig files
Code Cleanup for a file (C#) Code Cleanup for any scope: a selection, a file, a folder, a project, the whole solution (C#, VB.NET, JavaScript, TypeScript, HTML, and other languages) Code Cleanup for any scope: a selection, a file, a folder, a project, the whole solution (C#, VB.NET, JavaScript, TypeScript, HTML, and other languages)
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 header style No matching functionality
No matching functionality Organize file/type members No matching functionality

Unit testing

Unit test explorer Unit test explorer Unit test explorer
.NET Testing frameworks support (MSTest, xUnit.net) .NET testing frameworks support (MSTest, xUnit.net, NUnit) .NET testing frameworks support (MSTest, xUnit.net, NUnit)
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
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

Unity support

See detailed comparison of Unity-related features

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
Download
Free 30-day trial