两者有什么不同?JetBrains在这里列出了一些差异,但我听说列表中可能存在一些不准确之处。
4 回答
我的回答并不完整,但这对我来说很突出。
ReSharper C++
优点:
- 具有静态代码分析。我特别喜欢它标记潜在的“多余包含”,尽管这并不总是正确的。
- 给人的印象是比 Visual Assist 功能更丰富。
缺点:
- 价格是 Visual Assist 的两倍,并且当您的一年维护期用完时,您只能保留当年年初的版本。
- 在我看来,它与 CMake 结合起来效果不佳。我认为它总是在重新运行 CMake 后对代码进行完整的重新扫描。在重新扫描期间,并非所有文件的所有功能都可用,并且扫描降低了我的系统速度。
- 在工作中,我在虚拟机上进行开发,这里速度慢得让人难以忍受。在本机机器上的家中它会更好,但在重新扫描期间仍然会减慢 Visual Studio。
- 与 VSCommands 插件结合使用效果不佳,因此在使用 ReSharper C++ 时必须禁用 VSCommands。
视觉辅助 X
优点:
- 与 ReSharper C++ 相比,IMO 的自动代码完成能力明显更好。
- 我更喜欢重构功能。不记得为什么...
- ReSharper C++ 价格的一半,您可以在一年维护期结束后保留该版本。
- IMO 不会像 ReSharper 那样妨碍您。但是 ReSharper 有很多设置,所以这个问题可能会被微调掉。
公平地说,我应该提到我购买了 Visual Assist 的许可证,并且只使用了一个月的 ReSharper 试用版,所以我有点偏见。问题是,当我尝试 ReSharper 时,我已经知道 Visual Assist 的重要快捷方式,因此使用 ReSharper 感觉更慢且效率更低。我认真考虑过购买 ReSharper,但结合 CMake 的缓慢让我决定反对它。我真正怀念的 ReSharper 的唯一功能是我上面提到的“多余的包含”。
大约半年前(2015 年底)我尝试了 ReSharper。这两个程序都可以作为试用版免费使用一个月,因此您可以尝试更适合您的程序。
编辑:
- 有关定价的信息可能不再准确。
- 与此同时,购买 Visual Assist 钥匙变得更加复杂,这有点烦人。现在,人必须确认您的购买,这可能需要下一个工作日,并且您还必须在另一个需要设置帐户的网站上注册该软件。
- 我认为 Visual Assist 的试用期已缩短至数周。
免责声明:我是 ReSharper C++ 团队的开发人员。
由于 ReSharper C++ 和 VAX 的功能在许多方面都相似,因此我将只强调重要的区别。
ReSharper C++
- 提供动态代码分析,包括大量编译错误和代码质量检查,以及相应的快速修复和可配置的严重性。例如,如果不需要包含、变量未初始化、多态类具有公共非虚拟析构函数或函数可以设为“静态”或“常量”,R++ 将发出警告。
- 可以对整个解决方案进行代码分析,因此 R++ 也可以作为静态分析工具。
- 具有更多代码生成功能(包括特殊成员函数的生成)和一组有助于理解和转换代码的上下文操作(例如,替换宏调用或“自动”说明符)。
- 包括一个可配置的代码格式化程序(VAX 使用内置的 Visual Studio 格式化程序)。
- 具有支持 Google 测试和 Boost.Test 库的单元测试资源管理器和运行程序。
- 基于精确的代码模型,可以正确处理模板实例化、预处理、依赖于上下文的解析和重载解析。
视觉辅助 X
- 在大型项目上通常比 R++ 更快。
- 具有调试辅助功能,包括内存查看工具窗口和调试步骤过滤器。
- 支持 C++/CLI。
您还可以查看详细的功能比较页面。
Knitschi 关于定价的观点并不完全正确。比较例如美国的价格,ReSharper C++(与 ReSharper Ultimate 相比仅支持 C++)的年度价格低于组织和个人客户的 VAX 价格。ReSharper C++ 也可供教师、学生和开源项目免费使用。
ReSharper C++ 正在积极开发中,每次发布都会获得许多新功能。如果您有任何问题或功能请求,请向问题跟踪器报告。
老实说,我两个都用。视觉辅助为事物着色并突出显示效果。ReSharper 提供了出色的元级别分析。
当 ReSharper C++ 处于活动状态时,我总是遇到在 Visual Studio Ultimate 中输入缓慢的问题。
使用 Visual Assist X,打字更流畅,整体性能更好。我建议尝试一下。
(JetBrains 网站上针对性能不佳的各种解决方案并没有缓解问题。)