CLion IDE 是否包含 ReSharper C++ 在 Visual Studio 下提供的所有功能?

Does CLion IDE include all features which ReSharper C++ provides under Visual Studio?

由于我一直在使用 ReSharper for C#(和其他 JetBrains 工具)并且对体验非常满意,所以我在 2 个 JetBrains 产品之间摇摆不定哪个更好(来自标题)用于 C++ 项目。

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

我能找到的关于这个话题的唯一信息是下面引自 JetBrains blog 的一句话,它对我帮助不大:

As we’ve already mentioned, at some point the CLion and ReSharper C++ teams split, giving way to two completely independent implementations of C++ parsers. This was caused by two completely different platform architectures, IntelliJ and ReSharper, and two different sets of ideas of how parsers can be implemented.

关于 2 options/combinations 之间比较的其他方面(功能集除外)也将受到欢迎。

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

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

CLion 包含许多 R++ 根本不需要的功能(因为它 运行 在 Visual Studio 之上)——例如,[=26 的调试器 UI =] 并支持编辑 CMake 文件。此外,IntelliJ 平台的所有常用功能都可用,包括与 VCS 系统的集成、众多插件和对其他语言的支持(例如 Swift、Python、JavaScript、HTML/CSS 和其他人)。

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

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

我最近都没有用过,但是比较最新的在线帮助,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

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

但是,CLion 的内置检查及其 CLang-Tidy 集成通常与许多 ReSharper 选项重叠。根据我的经验,(我使用过这两种工具)CLion 是 comprehensive/thorough,而 ReSharper 在代码检查领域的优势很小。

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

我希望随着时间的推移,随着 CLion 的成熟,两者之间的任何差距都会缩小。

另请注意,决定不必是 either/or。 CLion 可用于整体工作,偶尔 运行 在 Visual Studio 中检查 ReSharper C++ 完整解决方案。这可以使用 CMake 项目树轻松完成(例如)。