ReSharper C++ 2021.2 vs Visual Studio 2019

This document lists some of the features that are provided by ReSharper C++ 2021.2 but are missing or not as fully implemented in bare Visual Studio 2019.

Microsoft Visual Studio 2019 16.10
ReSharper C++ 2021.2

Supported C/C++ specifications

C/C++ C/C++
C++/CLI C++/CLI
C++/CX Not supported
HLSL HLSL

Code analysis and corrections

On-the-fly design-time code analysis (compiler errors and warnings) On-the-fly design-time code analysis (compiler errors and warnings, and 230+ proprietary code inspections)
Quick-fixes to resolve code issues 290+ quick-fixes to resolve code issues
Integrated Clang-Tidy diagnostics and checks Integrated Clang-Tidy diagnostics and checks
Integrated UnrealHeaderTool diagnostics and checks
Spell-checking
Includes analyzer
Reporting all errors and code quality issues in any scope, up to the entire solution
Adjustable code inspections: 5 severity levels can be configured right from the Alt+Enter menu
Sharing code analysis settings on a solution or team level

Refactorings and code transformations

Rename Rename
Change signature Change signature
Extract function Extract method
Implement pure virtuals Generate overriding members
Create declaration/definition Generate definition/implementation by declaration
Move function definition Move implementation out of class scope
Convert to raw string literal Convert to raw string literal and vice versa
Convert to scoped enum
Introduce field
Introduce namespace alias
Introduce typedef
Introduce using enum
Introduce variable
Inline function
Inline variable
Inline typedef
65+ context actions (automated local code transformations)

Coding assistance

Code completion Code completion with smart suggestions and CamelCase matching
Syntax highlighting Syntax highlighting (configurable colors for 25+ different kinds of identifiers)
Tooltips for code elements Tooltips for code elements with highlighted syntax and formatted documentation comments
Expand/Contract selection Extend/Shrink selection
Comment selection (comment chosen automatically) Comment selection with line or block comment
Quick Info and Parameter Info Quick documentation and Parameter Info
Inlay hints for parameter names, type names, namespaces, type conversions, and preprocessor directives; push-to-hint mode
Rearrange code elements
Automatically add missing #include directive
Import completion and postfix completion
Complete statement
Select containing declaration

Navigation & search

Navigate To Search everywhere
Go to declaration Go to declaration that also works on unresolved identifiers and comments, and helps to navigate between usages and matching preprocessor directives
Peek Definition Peek declarations, usages, base symbols, implementations
Code bookmarks Code bookmarks
Quick launch Find actions and settings
Find references Find usages
Generate graph of include files Hierarchy of includes view
Call Hierarchy Not supported
Go to symbol Go to symbol
Go to type Go to type
Go to file Go to file
Go to file member Go to file member
Go to text with fuzzy search
Go to base symbols
Go to derived symbols
Go to related files
Go to file nearby
Go to recent locations and changes
Go to primary template/specializations
Switch Header/Source
Highlight usages in file
Navigate up and down inheritance hierarchy in the editor
Breakpoints navigation by context
Type hierarchy view
File structure
Navigate between To-do items
Locate current file in Solution Explorer

Code generation

Code snippets (templates) Code snippets (templates), including live, surround, and postfix templates
Generate files from template Generate files from template
Generate code with code completion Generate code with code completion
Visual editor for code snippets (templates)
Add forward declaration or insert #include directive with import completion
Generate code from usage
Generate constructors
Generate definitions
Generate missing case statements
Generate documentation comments
Generate missing/overriding members
Generate copy and move operators
Generate getters and setters
Generate equality operators
Generate relational operators
Generate stream operations (including Boost.Serialization functions)
Generate hash function
Generate swap function
Generate Google Mock methods
Generate function that converts enum to string (configurable)
Generate missing members

Code style and cleanup

Reformat code Apply formatting rules in any scope (with ReSharper C++'s own set of formatting rules)
EditorConfig support EditorConfig support
Clang-Format support
Learn formatting rules from existing code
Visual editor for configuring formatting rules for selected code
File Formatting Info window to explore the settings values and files that affect the current file
Configurable naming style with predefined schemes (STL, Google, LLVM, CamelCase, Microsoft)
Configurable rules for sorting #include directives
Configurable syntax style for initializations, declarations, overriding functions, the auto usage, position of cv-qualifiers, and braces

Unit testing

Unit test explorer Unit test explorer
Microsoft Unit Testing Framework for C++ support Not supported
Google Test support Google Test support
Boost.Test support Boost.Test support
CTest support Not supported
Catch support
doctest support
Run tests from the editor
Multiple unit test sessions

Debugging

DataTips in the editor Searchable DataTips with configurable object presentation in the editor
Breakpoints tool window Breakpoints tool window with preview, context search, grouping, and export
Inline watches
Step filters

Unreal Engine support

Unreal Engine naming conventions support
Integrated UnrealHeaderTool inspections
Working with HLSL shader files
Unreal Engine remote procedure calls support
Code completion for Unreal Engine reflection specifiers
Unreal Engine project model support providing code completion based on the plugin and module references
Real-time updates according to changes in .Build.cs, .Target.cs, .uproject, or .uplugin

Managing settings

Synchronize settings via Microsoft ID Synchronize settings and custom templates with the team via VCS or any file hosting service
Settings layer system to store different settings for different solutions without conflicts
Download
Free 30-day trial