JetBrains 宣布推出全新的 CLion Nova 早期预览版,使用 ReSharper C++/Rider C++ 语言引擎而不是 CLion“传统”引擎。“我们将新的实验预览版命名为 CLion Nova,而当前的 CLion 版本则是 CLion Classic。未来,我们计划将 CLion Nova 并入 CLion Classic。我们不打算推出新产品。”
该公司打算先收集用户反馈,然后在 2024 年的某个时刻根据具体的反馈结果将 CLion Nova 合并到 CLion Classic。在此之前,预览版本将免费提供,并且可以与 CLion (Classic) 安装并行安装。目前 CLion Nova 只能通过 Toolbox 应用程序获得。
CLion Nova 重点关注 IDE 的响应能力、准确性和性能。有两个主要目标:
- 解决 CLion 因使用“传统”引擎而导致的长期存在的性能和质量问题。
- 统一 JetBrains 所有 C++ 工具(即 CLion、Rider 和 ReSharper C++)的用户体验。
CLion Nova 仍然使用两种 C++ 语言引擎:基于 clangd 的引擎和 ReSharper C++/Rider 使用的引擎,且 CLion Nova 包含了 CLion Classic 的大部分功能。
CLion Nova 的性能优势主要在于:
- 更快的高亮显示速度,尤其是在代码增量更新的情况下
- 响应速度更快的 UI
- 查找使用速度更快
- 重构时的冻结和挂起情况显着减少
- 更快的测试索引
此外,CLion Nova 还增添了一些 CLion Classic 中未包含的新功能:
- 新的重构,例如引入字段、引入命名空间别名、引入 using 枚举以及转换为作用域枚举。
- 新的检查、快速修复和意图,例如冗余限定符、用明确的类型声明替换
auto
以及#include
指令排序。 - 新的代码提示,例如预处理指令提示和 Push-to-Hint 模式。
与 CLion Classic 不同的是,CLion Nova 不使用 clangd 来实现代码完成或高亮显示等核心 IDE 功能。不过,JetBrains 的 clangd 分支仍然与新引擎一起运行,以执行各种任务(ClangFormat、Clang-Tidy、MISRA 检查、数据流分析等)。
公告指出,对于 CLion Classic 而言,使用 CLion Nova 将拥有一些全新的体验:
- 用户键入时 IDE 的一些反应方式会有所差异。
- 与代码洞察功能相关的某些 UI 元素和设置可能看起来不寻常或位于不熟悉的位置。
- 某些与代码相关的设置在 CLion Nova 中可能具有不同的默认值。首次启动时,CLion Nova 将从 CLion Classic 迁移一些按项目和应用程序设置,但不是全部。
- 在不同语言配置(即调试/发布)之间切换可能需要更多时间来让代码洞察引擎跟上。也没有选项可以切换每个文件的解析上下文。
- ReSharper C++ 仅适用于 Windows,而 Rider 则支持跨平台。ReSharper C++/Rider 引擎可能无法像 Windows 环境那样无缝地支持非 Windows 环境。
CLion Nova 目前确实的功能包括:
- 工具链:存在多种选项可用于在 CLion 中设置远程工作。CLion Nova 支持本地资源的远程工作,但瘦客户端 (Gateway) 的远程工作尚不可用。
- 语言:Objective-C 语言、CUDA(RSCPP-613、CPP-26144)和一些特定于供应商的编译器扩展尚不受支持。
- 目前不支持某些 intentions 和 quick-fixes,例如 Simplify 语句( CPP-35879 )。
- 一些流行度不高的 refactorings 也不支持。官方计划稍后重新引入 Move (CPP-35867) 和 Inline Parameter refactorings (CPP-35868)。
- JetBrains 的 AI 助手尚不适用于 CLion Nova。