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 | ||
Enhanced syntax coloring (6 different identifier kinds) / Stable symbols in italic / Local symbols in bold | 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 #include directives 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 the requires -clause | ||
Code generation | ||
Create derived type | ||
Code snippets/templates | ||
Create file (needs to be called twice for header and cpp) | Built-in file templates for class and struct (create both header and cpp at once) + custom file templates | |
Reserved strings /environment placeholders in snippets | ||
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 | ||
Unreal Engine testing framework 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) | ||