CLion 2024.3 标志着 CLion Nova 的又一个重要里程碑。 新语言引擎这个经过显著改进的版本包含一些呼声最高的功能,现在已可满足大多数用例。 此版本还包括用于嵌入式开发的新功能,例如调试服务器以及对原生 Zephyr West 调试的支持。 OpenCV 图像查看器以及将调试器附加到未启动进程的功能使 CLion 2024.3 更加完善。
我们更快的新语言引擎 CLion Nova 现在是新用户的默认选项。 在这个版本中,我们实现了一些呼声最高的功能并修正了多个主要 bug。 最终,我们计划让 CLion Nova 成为所有新老用户的默认引擎。 但首先,我们想知道您对此是否有任何疑虑。
调试包含二维 OpenCV 数组的代码时,调试器现在允许您在单独的对话框中将其作为图像查看并使用各种编辑选项。 此新功能使计算机视觉和机器学习应用程序的开发变得更加简单方便。
我们添加了一个新的 Debug Servers(调试服务器)配置选项,使您可以更轻松地为嵌入式和远程开发配置调试。 使用调试服务器,您可以选择要在哪个调试探头上运行或调试构建目标。 此前,您必须为每个调试探头和构建目标组合设置单独的运行/调试配置。
在这个版本中,我们的新语言引擎 CLion Nova 获得了一系列重要功能,例如各种语言特定功能和 UI 更新。 我们还修正了一些主要 bug,包括内存占用相关 bug。 为了使从 CLion Classic 的过渡更加简单,用户不必再进入 Advanced Settings(高级设置)切换到新引擎 – 我们现在还在 Welcome(欢迎)屏幕和 Configuration(配置)菜单中增加了切换按钮。
现在,CLion Nova 在性能方面相对于 CLion Classic 的优势更加明显。 因此,我们相信 CLion Nova 能成为所有用户的默认引擎,而不仅仅是新用户。
不过,我们知道并非所有现有用户都准备好进行转换,我们也想了解其中的原因。 所以,我们非常希望您能告诉我们为什么您更喜欢 CLion Classic 而不是 CLion Nova。
您可以从主 IDE 菜单中选择 Help | Submit Feedback…(帮助 | 提交反馈…)来分享您的反馈。 我们将仔细检查,尽全力解决任何可能阻碍您使用 CLion Nova 的关键问题。
我们对 CLion Nova 做出了许多改进,以减少其内存占用。 这在大型项目中尤其明显。 将 CLion Nova 2024.2 中的 Chromium 项目与 2024.3 中的同一项目的内存使用情况进行比较,在新版本中,IDE 前端使用的内存减少了 51%,而 IDE 后端使用的内存减少了 15%。
对于我们的用户来说,这意味着:
函数调用层次结构显示了调用方和被调用方的层次结构,帮助您更好地了解函数如何交互。
要查看调用层次结构,在编辑器中选择一个函数,然后从主菜单中选择 Navigate | Call Hierarchy(导航 | 调用层次结构),或使用快捷键 ⌃⌥H (macOS) 或 Ctrl+Alt+H (Windows/Linux)。
现在,您可以通过 Settings | Editor | Code Style | C/C++ | Set from…(设置 | 编辑器 | 代码样式 | C/C++ | 设置自…)选择预定义的代码样式,如 LLVM、Google、Qt 或 GNU。
我们在装订区域中为递归调用添加了一个图标。 这可以让您更轻松地查看代码中使用递归函数的位置,并避免堆栈溢出等潜在有害情况。 图标也会显示在调用层次结构中。
Quick Definition(快速定义)弹出窗口会显示类、函数、方法和其他项目符号的定义位置和方式。 要调用它,在编辑器中将文本光标置于符号处,然后按 ⌥Space (macOS) 或 Ctrl+Shift+| (Windows/Linux)。 您也可以通过 View | Quick Definition(视图 | 快速定义)从主菜单访问它。
我们添加了一个新的 Debug Servers(调试服务器)配置选项,以简化嵌入式和远程开发调试的配置过程。 这是 Settings | Debugger(设置 | 调试器)中的一个单独部分,您可以在其中设置基于 gdbserver 的调试服务器。
首先,您需要在 Settings | Advanced Settings | Debugger(设置 | 高级设置 | 调试器)下启用 Debug Servers(调试服务器)。 然后,您可以在 Settings | Debugger(设置 | 调试器)中打开 Debug Servers(调试服务器)对话框,或者从主工具栏切换器调用 Edit Debug Servers(编辑调试服务器)。
请注意,这是一项实验性功能,目前还不能与 PlatformIO 一起使用。 不过,也有变通方法。 我们鼓励您尝试并与我们分享您的反馈。 我们也很乐意安排一次简短的通话,以详细了解您的具体用例和挑战。
在此版本中,我们扩展了对 Zephyr West 的支持,增加了原生调试 West 项目的功能。 这样一来,您可以在 IDE 中轻松配置和运行调试会话。
导入 Zephyr West 项目时,West 运行/调试配置会在 Run/Debug Configurations(运行/调试配置)切换器中自动创建。 您还可以通过主菜单中的 Run | Edit Configurations…(运行 | 编辑配置…)创建新的运行/调试配置。
调试 GPIO 引脚或计时器等开发板外设时,您现在可以在 Debug(调试)工具窗口的 Peripherals(外设)窗格中编辑外设寄存器,立即看到更改的效果。
MISRA C++:2023 是 MISRA C++ 的最新版本,为在安全关键型系统中使用 C++17 提供了指导。 CLion 的静态分析工具包现在包含大量 MISRA C++: 2023 检查。
如果您在调试使用 OpenCV 的计算机视觉或 ML 应用程序,您现在能够以图像形式查看二维 OpenCV 数组。 调试器会在单独的对话框中显示这些图像,并提供多种编辑选项和功能,例如在步进时更新图像。
在调试器的 Threads & Variables(线程和变量)对话框中,点击 View as image(作为图像查看)。
调试存储换行符或 JSON、XML 和 HTML 数据的字符串时,您可以直接在调试器中查看根据其代码样式设置格式的字符串。 按变量旁边的 View(视图),您将能够在单独的窗口中查看结构化或原始数据。
现在,您可以将调试器附加到未启动的本地进程。 这将在启动时自动触发调试。 例如,当项目的一部分使用 C++ 编写并在 CLion 中运行,而另一部分用另一种语言编写并在外部环境中运行时,此功能就非常实用。
要进行配置,从主菜单中选择 Run | Attach to an Unstarted Process…(运行 | 附加到未启动的进程…)。
我们更新了以下捆绑的调试器:
更新后的 JetBrains AI Assistant 插件配备了我们内部训练的 C++ 大语言模型,使 CLion 的云代码补全更快、更智能。 现在,它提供了更广泛的使用场景,增强的后缀匹配可以确保预测的代码段正确补全现有代码。
最突出的改进之一是多行代码补全,它获得了语法高亮显示和代码建议的逐步接受。
多行代码补全与标准代码补全和全行代码补全(后者使用本地 LLM 并且不需要将数据发送到云端)一起工作。 这样,您就可以逐步审查和接受建议。 您还可以使用快捷键 ⌥→ (macOS) 和 Ctrl+→ (Windows) 逐字接受建议。
如果您刚刚开始使用 CLion,您会注意到改进的入门提示。 它们向您展示了如何使用 IDE 的一些关键功能,让您从一开始就更清楚地了解其功能。 这将缩短熟练使用 CLion 所需的时间。
我们将项目状态通知从编辑器顶部移动到状态栏中新增的微件,以减少干扰。 现在,如果您在项目中创建一个新的 .cpp 文件, 图标就会出现。 只有将鼠标悬停在图标上时,才会出现文件不属于任何项目的通知。 点击图标后,微件会建议将文件添加到 CMake 项目。 如果不需要,您可以关闭弹出窗口,只在状态栏中留下图标。
新终端的界面采用了更紧凑的设计,减少了填充,旨在最大限度地利用您的屏幕空间。 这也提高了使用命令时的可见性,同时不影响可读性。
默认情况下,CLion 现在会高亮显示您在文件中选择的文本的所有实例,而不仅仅是 .c 和 .cpp。 这使得跟踪所选文本在文件中出现的位置更加简单。 如果您更喜欢此前的行为,您可以在 Settings | Editor | General | Appearance(设置 | 编辑器 | 常规 | 外观)中禁用此功能。
CMake 捆绑包已更新至 3.30.5。