CLion 2025.2 最新变化

CLion 2025.2 为 CLion Nova 语言引擎引入了新的增强,包括重做的格式化程序。 它还为嵌入式开发者提供了新功能,例如可以在不停止程序的情况下实时监视全局变量的实时监视。 我们还更新了项目状态微件,并扩展了 GoogleTest 集成的功能。

主要更新

CLion Nova 改进的格式化程序

我们大幅重做了 C/C++ 代码格式化程序的功能、相应的状态栏微件以及微件和设置 UI。 这项改进的主要结果是,编辑器的缩进大小、状态栏微件的信息与格式化程序设置之间的关系现在变得一致而清晰。 另外,您还可以直接在微件中配置 ClangFormat、Indents Detection 或 EditorConfig 等其他格式化程序选项,而无需通过设置完成这项操作。

利用 CLion Nova 加快远程开发速度

我们改进了 CLion Nova 在以远程方式工作时的性能和响应能力。 输入辅助功能现在会在瘦客户端而不是服务器上运行。 这意味着,在某些情况下,您无需等待后端的响应,网络连接也不再影响 IDE 的响应能力。 按下退格键时,对于诸如自动插入成对的 <>[]() 括号或者智能缩进这样的功能,现在与在本地工作时的速度一样快。

请注意,部分输入辅助功能尚未移至瘦客户端,但我们正在努力解决这个问题。

调试器中的实时监视

借助实时监视功能,您可以在不停止程序执行的情况下实时监视全局变量。 对于使用时间关键型协议(如蓝牙或 Zigbee)或者使用需要不间断运行的物理过程(如电动机控制或实时传感器采样)的嵌入式系统开发者而言,这项功能特别实用。

此功能默认启用。 要使用该功能,确保已在 Settings | Advanced Settings | Debugger(设置 | 高级设置 | 调试器)中启用 Debug Servers(调试服务器)选项。 请注意,实时监视目前仅适用于 SEGGER J-Link 和 ST-LINK 调试服务器,或与 SEGGER J-Link 或 ST-LINK 调试探针连接的泛型服务器。 您可以在文档中详细了解其他限制。

ESP32 调试服务器

除了通用的 SEGGER J-Link 和 STM32 调试服务器外,您现在还可以使用专为 ESP-IDF 项目设计的调试服务器。 它只包含最基本和最必要的设置,其他所有设置均已预先配置,可以简化配置过程。

转到 Settings | Build, Execution, Deployment | Debugger | Debug Servers(设置 | 构建、执行、部署 | 调试器 | 调试服务器),点击 +,选择 ESP-IDF 模板。 然后,您可以配置调试服务器、设备和调试器的参数。 如果需要更详细的配置选项,您可以将 ESP-IDF 调试服务器转换为泛型服务器。

CLion Nova

对编译错误遗漏相关问题的修正

以前,CLion Nova 在分析源代码时有时会忽略可能存在的编译错误,并且不会在编辑器中显示相应的警告。 因此,这些错误只有在构建完成后才会出现在终端中。 现在,CLion Nova 可以在您点击 Build(构建)、Run(运行)或 Debug(调试)之前捕获所有错误。

改进的 GoogleTest 支持

我们扩展了 CLion Nova 中 GoogleTest 集成的功能,现在 CLion Nova 的 GoogleTest 功能与 CLion Classic 中的功能一致。 核心功能之一是对 TEST_P 宏的支持。 这对参数化测试非常有用,因为在参数化测试中,您需要用不同的输入值运行相同的测试逻辑。 现在,点击 TEST_P 函数旁边装订区域中的绿色 Run(运行)按钮,即可运行参数化测试。

其他改进

更新的项目状态微件

我们改进了项目状态微件的功能和 UI,使警告更加突出,交互性更强。 例如,如果您的文件不属于某个项目,您可以点击相应链接来解决这个问题。 您将能够:

  • 配置 CMake 项目
  • 为当前文件配置运行配置
  • 创建 c_cpp_properties.json 文件

如果警告与当前任务无关,您现在可以直接关闭横幅(这是以前没有的选项)。 后一种情况的例子是,您需要打开项目外的文件来分析代码。

调试器中的低级异常禁止

调试时,您现在可以禁止由 __debugbreak() 触发的低级异常或带有 int3 的内联程序集。 这在调试复杂的游戏项目时尤其有用,因为它允许您跳过游戏引擎触发手动断点的低级断言。 这项功能可让您更好地控制低级异常和信号。 您可以选择何时停止调试器以及何时继续调试。

CLion 和 Rider 共享此功能,您可以查看 Rider 团队的这篇博文,详细了解功能的运作方式和配置方法。

要详细了解 2025.2 版本中的其他更新,请阅读我们的博文