CLion IDE是否包含Resharper C ++在VisualStudio下提供的所有功能?

时间:2016-03-01 15:54:14

标签: c++ visual-studio resharper clion jetbrains-ide

由于我一直在使用Resharper for C#(以及其他Jetbrains工具),并对此体验感到非常满意,因此我认为2种Jetbrains产品之间的选择是更好的选择。 (来自标题)C ++项目。

一个关键的决定点是,如果CLion包含Resharper C ++提供的所有(或至少大部分)功能。

我能找到的关于这个主题的唯一信息是来自Jetbrains blog的以下引用,这对我没什么帮助:

  

正如我们已经提到的,在某些时候,CLion和ReSharper C ++   团队分裂,让位于两个完全独立的实现   C ++解析器。这是由两个完全不同的平台引起的   架构,IntelliJ和ReSharper,以及两组不同的想法   如何实现解析器。

还欢迎关于2个选项/组合之间的比较的其他方面(功能集除外)。

3 个答案:

答案 0 :(得分:23)

CLion和ReSharper C ++之间的选择通常取决于您的开发环境。

  • CLion是一个基于IntelliJ平台的独立跨平台IDE。当您的项目使用CMake管理构建过程并将GCC / Clang作为编译器时,这是一个选项。
  • 另一方面,如果您使用Visual Studio作为IDE并使用Microsoft工具集编译项目,那么您应该使用ReSharper C ++。

CLion包含许多R ++根本不需要的功能(因为它运行在Visual Studio之上) - 例如,GDB / LLDB的调试器UI以及对编辑CMake文件的支持。此外,还提供了IntelliJ平台的所有常用功能,包括与VCS系统的集成,众多插件以及对其他语言的支持(例如Swift,Python,JavaScript,HTML / CSS等)。

ReSharper C ++是一个Visual Studio扩展,因此它使用Visual Studio项目模型并支持MSVC编译器的各种特性。它还具有比CLion更精确的代码模型,并提供更多代码生成选项,即时代码分析和上下文操作(大多数都列在comparison with Visual Assist X页面上)。除了CLion支持的Google Test之外,R ++还可以运行使用Boost.Test框架编写的测试。

最后如果有机会,请尝试两者并查看您更喜欢的产品 - 这两种产品都有30天的免费评估期。

答案 1 :(得分:2)

我最近没有使用过任何一个,但是与最新的在线帮助进行比较,CLion似乎具有Resharper C ++的所有重构功能,还有更多重构功能:

https://www.jetbrains.com/help/resharper/Refactorings_for_CPP.html https://www.jetbrains.com/help/clion/refactoring-source-code.html

此外,CLion提供了多个“意图动作”,这些动作与Resharper的“上下文动作”相似。 Resharper帮助列出了约56种C ++特定的上下文操作以及14种独立于语言的上下文操作。 CLion帮助没有提供意图动作的完整列表,但是从“首选项”对话框的屏幕快照中的滚动条上,我估计那里大约有180个意图动作。

https://www.jetbrains.com/help/clion/intention-actions.html https://www.jetbrains.com/help/resharper/Reference__Options__Languages__CPP__Context_Actions.html

答案 2 :(得分:1)

与 Clion->Settings->Editor->Inspections->C++ 相比,ReSharper->Options->Code Inspection->Severity 具有大量设置,包括关于“潜在代码质量问题”的整个部分。

>

但是,CLion 的内置检查及其 CLang-Tidy 集成通常与许多 ReSharper 选项重叠。根据我的经验,(我使用过这两种工具)CLion 是全面/彻底的,而 ReSharper 在代码检查领域的任何优势都是微不足道的。

另外值得注意的是,对同一解决方案的 ReSharper 检查运行速度比 Clion 快。这两种工具都没有过长的检查时间,但 ReSharper 的快速性是显而易见的。

随着 CLion 现在变得成熟,我预计两者之间的任何差距都会随着时间的推移而缩小。

另请注意,决定不必是“非此即彼”。 CLion 可用于整体工作,同时偶尔在 Visual Studio 中运行 ReSharper C++ 完整解决方案检查。这可以通过 CMake 项目树轻松完成(例如)。