ReSharper C++ vs. Visual Assist

This document describes how ReSharper C++ differs from Whole Tomato's Visual Assist.

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.

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

in Visual Studio 2019 + Visual Assist Build 2024.8 (2537)

in Visual Studio 2022 + ReSharper C++ 2024.3

Supported Visual Studio versions
Visual Studio 2022
Visual Studio 2022
Visual Studio 2019
Visual Studio 2019
Visual Studio 2017
Visual Studio 2017
Visual Studio 2015
Visual Studio 2015
Visual Studio 2013
Visual Studio 2013
Visual Studio 2012
Visual Studio 2012
Visual Studio 2010
Visual Studio 2010
Visual Studio 2008
Visual Studio 2005
Supported C/C++ specifications
C/C++
C/C++
C++/CLI
CUDA source files
Detection of code issues
Highlight unresolved symbols
Suppress code inspections with comments
Suppress code inspections with comments
Gutter marks for recursive calls
Quick-fixes for code issues
Coding assistance
Highlight paired items (including macros and format arguments in printf and boost::format)
Syntax highlighting (20 different identifier kinds)
Auto-extend and create documentation stubs in multi-line/**/ and ///comments on Enter
Generate Doxygen comment on typing ///
Highlight matching words (code and comments)
Auto-highlighting of function exits
Code style assistance
Format after paste (formatting rules are inherited from Visual Studio)
Apply formatting rules in any scope (with ReSharper C++'s own extensive set of formatting rules)
Apply code styles and remove code redundancies in any scope with code cleanup
Configurable style for const and volatile modifiers in generated code
Configurable style for #include directives in generated code
Configurable style for default pointer initializers (0|nullptr|NULL) in generated code
Refactorings and code transformations
Encapsulate field (with Generate getters and setters action)
Add/Remove Braces
Negate logical expression
Move function definitions
Move Class
Convert Instance to Pointer and vice versa
Simplify Instance Declaration
Sort Methods in Source
Promote Lambda to Method
Add = default, = delete, pure, or virtual specifier to a function
Arrange cv-qualifiers
Convert ?: to if and vice versa
Convert #include directive from angle-bracket to quoted form and vice versa
Convert call to pipe and vice versa
Convert clause to parameter constraint
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, Invert?: condition
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)
Replace UNREFERENCED_PARAMETER with[[maybe_unused]]
Convert string into C++11 raw string and back
Move template parameter constraint to therequires-clause
Code generation
Create derived type
Code snippets/templates
Create file (needs to be called twice for header and cpp)
Navigation & search
Go to declaration (with Goto)
Go to implementation (with Goto)
Debugging
Temporarily disable all enabled breakpoints
Temporarily bind all breakpoints to the current thread
Unreal Engine
Exclude engine source from navigation
Exclude engine source from indexing
UE4 remote procedure calls support
Unit testing
Unit Testing Assistance for Google Test, Catch 2.5, Boost.Test, and doctest frameworks
Settings management
Miscellaneous
Localized GUI (Chinese, Japanese, Korean)