ReSharper C++ 与 Visual Assist
本文说明 ReSharper C++ 与 Whole Tomato 的 Visual Assist 之差异。
由于两款产品都在积极地开发中,它们的功能会定期发生变化,此比较只针对比较表的标题中显示的这些特定版本。
如果您在表中发现不准确的条目,请在下方留下意见告知我们,我们将尽快更新此表。
![]() 在 Visual Studio 2019 + Visual Assist Build 2024.8(2537)中 | 在 Visual Studio 2022 + ReSharper C++ 2024.3 中 | |
---|---|---|
支持的 Visual Studio 版本 | 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 | ||
支持的 C/C++ 规范 | C/C++ | C/C++ |
C++/CLI | ||
CUDA 源文件 | ||
代码问题检测 | 高亮显示未解析的符号 | |
使用注释抑制代码检查 | 使用注释抑制代码检查 | |
递归调用的装订区域标记 | ||
代码问题的快速修复 | ||
编码辅助 | ||
语法高亮显示 (20 种不同的标识符) | ||
按 Enter 自动扩展并在多行 /**/ 和 /// 注释中创建文档存根 | ||
输入 /// 时生成 Doxygen 注释 | ||
高亮显示匹配的词(代码和注释) | ||
自动高亮显示函数出口 | ||
代码样式辅助 | 粘贴后格式化(格式化规则继承自 Visual Studio) | 在任何范围内应用格式化规则(使用 ReSharper C++ 自有的广泛格式化规则集) |
应用代码样式,使用代码清理在任何范围内移除代码冗余 | ||
适用于生成代码中 #include 指令的可配置样式 | ||
重构和代码转换 | ||
封装字段(使用生成 getter 和 setter 操作) | ||
添加/移除大括号 | ||
对逻辑表达式求反 | ||
移动函数定义 | ||
移动类 | ||
在实例和指针之间相互转换 | ||
简化实例声明 | ||
在源中排序方法 | ||
将 Lambda 提升到方法 | ||
向函数增加 = default 、= delete 、pure 或 virtual 说明符 | ||
排列 cv 限定符 | ||
将 ?: 转换为 if 及其反向操作 | ||
直接将 #include 指令从尖括号转换为引号及其反向操作 | ||
将调用转换为管道及其反向操作 | ||
将子句转换为形参约束 | ||
将 typedef 声明转换为别名声明及其反向操作 | ||
转换为嵌套命名空间定义 | ||
在常规返回值类型和尾随返回值类型之间相互转换 | ||
创建派生类型:类、接口、结构、接口类、接口结构、引用类、引用结构 | ||
翻转关系运算符 | ||
翻转运算符实参 | ||
通过构造函数形参初始化字段 | ||
反转 if 语句,反转 ?: 条件 | ||
将 'auto' 替换为显式类型声明 | ||
将 'decltype' 替换为基础类型 | ||
将 'decltype(auto)' 替换为显式类型声明 | ||
拆分或合并具有多个声明的声明 | ||
替换宏调用 | ||
替换模板类型别名 | ||
显式指定模板实参 | ||
替换 typedef(也可以替换所有嵌套 typedef) | ||
将 UNREFERENCED_PARAMETER 替换为 [[maybe_unused]] | ||
将字符串转换为 C++11 原始字符串并转回 | ||
将模板形参约束移至 requires 子句 | ||
代码生成 | ||
创建派生类型 | ||
代码段/模板 | ||
创建文件(需要对头文件和 cpp 调用两次) | 适用于类和结构体的内置文件模板(同时创建标头和 cpp)+ 自定义文件模板 | |
导航和搜索 | 转到声明(使用 Goto) | |
转到实现(使用 Goto) | ||
调试 | ||
暂时禁用已启用的全部断点 | ||
暂时将所有断点绑定到当前线程 | ||
Unreal Engine | ||
从导航中排除引擎源 | 从索引中排除引擎源 | |
UE4 远程过程调用支持 | ||
单元测试 | Google Test、Catch 2.5、Boost.Test 和 doctest 框架的<单元测试辅助 | |
设置管理 | ||
其他 | ||
本地化 GUI(中文、日语、韩语) | ||