ReSharper C++和Visual Assist有何不同?

16

这两者有何不同?JetBrains在此处列出了一些区别,但我听说该列表可能存在一些不准确之处。


你看过这里的问题吗?[https://dev59.com/I3VC5IYBdhLWcg3w51ry] - Vandal
2
那个问题是7年前的,当时ReSharper C++还不存在。 - Filip Skakun
1
JetBrains要求读者在发现任何不准确的地方时发布评论,因此您应该监控其他人在此处发布的评论。 - Lex Li
4个回答

16

免责声明:我是ReSharper C++团队的开发人员。

由于ReSharper C++和Visual Assist X在许多领域的功能相似,因此我将仅强调重要的区别。

ReSharper C++

  • 提供即时代码分析,拥有广泛的编译错误和代码质量检查以及相应的快速修复和可配置的严重性。例如,R++会警告无用的include、未初始化的变量、具有公共非虚析构函数的多态类或者函数可以被改为"static"或"const"。
  • 可以对整个解决方案执行代码分析,因此R++也可以作为静态分析工具。
  • 有更多的代码生成功能(包括特殊成员函数的生成)和一组上下文操作,帮助理解和转换代码(例如替换宏调用或"auto"限定符)。
  • 包括可配置的代码格式化程序(VAX使用内置的Visual Studio格式化程序)。
  • 有一个单元测试探索器和运行器,支持Google test和Boost.Test库。
  • 基于精确的代码模型,正确处理模板实例化、预处理、上下文相关解析和函数重载解析。

Visual Assist X

  • 在大型项目上通常比R++更快。
  • 具有调试功能,包括内存查看工具窗口和调试步骤过滤器。
  • 支持C++/CLI。

您还可以查看详细的功能对比页面

Knitschi关于定价的观点不完全正确。例如,与ReSharper Ultimate相比,ReSharper C++(仅支持C++)的年度价格对于组织和个人客户来说都比VAX低。 ReSharper C++也可供教师、学生和开源项目免费使用。

ReSharper C++正处于积极开发阶段,并且每次发布都会增加很多新功能。如果您遇到任何问题或有功能请求,请将它们报告给问题追踪器


4
你愿意更新你的帖子以反映R++的当前状态吗?我可以帮您进行翻译,并使内容更加易懂,但不会改变原本的意思。 - Mark A. Ropper

15

我并不能保证完整性,但以下是我所关注的内容。

ReSharper C++

优点:

  • 有静态代码分析功能。我特别喜欢它标记潜在“多余的头文件”功能,尽管这并不总是正确的。
  • 给人比Visual Assist更加丰富的功能印象。

缺点:

  • 比Visual Assist贵一倍,而且当你一年的维护期结束后,只能使用那一年开始时的版本。
  • 我觉得它与CMake结合使用效果不佳。每次重新运行CMake后,它似乎总要重新扫描代码。在重新扫描期间,并不是所有文件都可以使用所有功能,而扫描会降低我的系统速度。
  • 在我的虚拟机上开发时非常慢,无法忍受。在本机上速度好些,但在重新扫描期间仍然会减慢Visual Studio的速度。
  • 与VSCommands插件不兼容,因此在使用ReSharper C++时必须禁用VSCommands插件。

Visual Assist X

优点:

  • 我认为自动代码补全比ReSharper C++好得多。
  • 我更喜欢重构功能。不记得是为什么了……
  • 价格只有ReSharper C++的一半,而且可以在一年维护期结束后使用当时的版本。
  • 我认为它比ReSharper打扰你的程度小一些。但是,ReSharper拥有很多设置,因此这个问题可能可以进行微调。

公正地说,我购买了Visual Assist的许可证,只使用了ReSharper一个月的试用版,所以我有点偏见。问题是,我在尝试ReSharper时已经熟悉了Visual Assist的重要快捷键,所以使用ReSharper感觉更慢、效果更差。我曾认真考虑购买ReSharper,但与CMake结合使用时的缓慢速度让我决定放弃。我真正需要的是上述“多余的头文件”功能。

我大约在半年前(2015年底)尝试了ReSharper。这两个程序都可以免费试用一个月,因此您可以尝试一下哪个更适合您。

编辑:

  • 关于定价的信息可能已经不准确了。
  • 同时,购买Visual Assist密钥变得更加复杂,有点烦人。现在需要一个人来确认您的购买,这可能需要到下一个工作日,另外您还必须在另一个网站上注册软件,这需要设置一个帐户。
  • 我认为Visual Assist的试用期已缩短为几周了。

8
说实话,我两者都使用。 Visual Assist 能够对事物进行着色并突出显示非常好。 ReSharper 提供了很好的元级别分析。

2

当ReSharper C++处于活动状态时,我在Visual Studio Ultimate中的打字速度总是有起伏的问题。

使用Visual Assist X,打字速度更加流畅,性能也更好。我建议尝试一下。

(JetBrains网站上针对性能不佳的各种解决方案并没有缓解问题。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接