ReSharper C++ 2019.1 vs Visual Studio 2019
This document lists some of the features that are provided by ReSharper C++ 2019.1 but are missing or not as fully implemented in bare Visual Studio 2019.
You are viewing a comparison for an earlier version of ReSharper C++.
View this page in the latest version.
Microsoft Visual Studio 2019 16.0
|
Microsoft Visual Studio 2019 16.0
+ ReSharper C++ 2019.1
|
Supported C/C++ specifications |
C/C++ | C/C++ |
C++/CLI | C++/CLI | |
C++/CX | Not supported | |
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 + 180 proprietary code analysis rules) |
2 quick-fixes to resolve code issues | 120+ quick-fixes to resolve code issues | |
Reporting all errors and code quality issues in any scope, up to the entire solution | ||
1000+ integrated Clang-Tidy diagnostics and checks | ||
Navigation between code issues (tool window, editor, dedicated commands) | ||
Spell-checking | ||
Adjustable code inspections: 5 severity levels. Can be configured inline right from the Alt+Enter menu | ||
Sharing code analysis settings on a solution or team level | ||
Includes analyzer | ||
Refactorings and code transformations |
Rename | Rename |
Change signature | Change signature | |
Extract function | Extract method | |
Move function definition | Move implementation out of class scope | |
Introduce variable | ||
Encapsulate field (with Generate getters and setters action) | ||
Add/Remove braces | ||
Rename file | ||
Introduce field | ||
Inline variable | ||
Introduce namespace alias | ||
Introduce/Inline typedef | ||
Add = default ,
= delete , pure , or virtual
specifier to a function
|
||
Convert ?:
to if
and vice versa
|
||
Convert #include
directive from angle-bracket to quoted form and vice versa
|
||
Convert typedef declaration into alias declaration and vice versa | ||
Convert to nested namespace definition | ||
Convert regular return type into trailing return type and vice versa | ||
Create derived type: class, interface, struct, interface class, interface struct, ref class, ref struct | ||
Flip relational operator | ||
Flip operator arguments | ||
Initialize field from constructor parameter | ||
Invert if
statement
|
||
Merge nested if
statements |
||
Negate logical expression | ||
Remove braces | ||
Replace 'auto' with explicit type declaration | ||
Replace 'decltype' with the underlying type | ||
Replace 'decltype(auto)' with explicit type declaration | ||
Split or join declaration with multiple declarations | ||
Substitute macro call | ||
Substitute template type alias | ||
Specify template arguments explicitly | ||
Substitute typedef (and, optionally, all nested typedefs) | ||
Coding assistance |
Code completion | Code completion with smart suggestions and CamelCase matching |
Syntax highlighting | Syntax highlighting (configurable colors for 20 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 documentation | ||
Automatically add #include directive |
||
Import completion and postfix completion of free functions | ||
Select containing declaration | ||
Navigation & search |
Navigate To | Search everywhere |
Go to declaration | Go to declaration that also helps navigate between usages | |
Code bookmarks | Code bookmarks | |
Quick launch | Find actions and settings | |
Find references | Find usages | |
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 | ||
Highlight references | ||
Navigation up and down inheritance hierarchy in the editor | ||
Indication of type inheritors and method overrides | ||
Go to base symbols | ||
Go to derived symbols | ||
Go to related files | ||
Go to file nearby | ||
Breakpoints navigation by context | ||
Go to recent locations and changes | ||
Type hierarchy view | ||
Hierarchy of includes view | ||
File structure | ||
To-do items with external URL patterns | ||
Go to primary template/specializations | ||
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 | |
Generate multiple files from template | ||
Visual editor for code snippets (templates) | ||
Create from usage | ||
Generate definitions | ||
Generate missing case statements for enum | ||
Document symbol | ||
Add Forward Declaration | ||
Generate missing/overriding members | ||
Generate constructors | ||
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) | ||
Create derived type | ||
Code style and cleanup |
Reformat code | Apply formatting rules in any scope (with ReSharper C++'s own extensive set of formatting rules) |
EditorConfig support | EditorConfig support with File Formatting Info window which allows to explore all .editorconfig files that affect the current file | |
ClangFormat automatically used as a source of formatting style settings | ||
Learn formatting rules from existing code | ||
Visual editor for formatting rules in selection | ||
Configurable naming style with predefined schemes (STL, Google, LLVM, CamelCase, Microsoft) | ||
Configurable style for const and volatile
modifiers in generated code
|
||
Configurable
style for include directive in generated code
|
||
Configurable style for default pointer initializers
(0 |nullptr |NULL ) in generated code
|
||
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 |
Breakpoints tool window | Breakpoints tool window with context search and preview | |
Inline watches | ||
Step filters | ||
Unreal Engine support |
Unreal Engine naming conventions support | |
Unreal Engine remote procedure calls support | ||
Code completion for Unreal Engine reflection specifiers | ||
Managing settings |
Synchronize settings via Microsoft ID | Synchronize settings and custom templates with team via VCS or any file hosting service |