主要更新
1、调试器更新
CLion调试器集成获得重大更新,带来强劲的调试功能,包括:
即使源代码可用,也可以探索底层汇编代码(又称按需反汇编)。
重做的Attach to Process...(附加到进程…)对话框使进程更易查找和附加。
挂起或恢复单个线程的操作,帮助调试多线程应用程序。
2、与vcpkg集成
vcpkg软件包管理器在C++开发者中的人气越来越高。CLion现在与其集成,有助于安装和更新vcpkg及其软件包,以及在专属工具窗口中浏览已安装和可用的软件包。
当您执行以下操作时,CLion通过建议快速修复来帮助处理缺失的依赖项:
为尚未安装的软件包的头文件添加#include。
在尚未安装的CMake脚本中使用软件包。
3、基于Clangd的索引器实验性
为了加快Find Usages(查找用法)操作并使其在C++代码中生成更准确的结果,CLion引入了一个全新的Clangd索引器。在Settings/Preferences|Advanced Settings|Clangd|Use Clangd-based indexer(设置/偏好设置|高级设置|Clangd|使用基于Clangd的索引器)中启用。
注意,索引器仍处于开发的早期实验性阶段。查看在线帮助获取已知问题和限制列表。
4、新UI测试版
新UI的视觉混乱更少,并更简洁地展示出强大功能的起点。我们在v2023.1针对性调整了新UI的用户体验,实用更改包括重新设计的Run(运行)微件、显示已隐藏标签页的选项和垂直拆分工具窗口的选项、适合小屏幕的新Compact Mode(紧凑模式)等。
二、调试器增强功能
1、按需反汇编
CLion调试器允许您在专属视图中步入并调试反汇编的代码。现在,这也适用于源代码可用的情况。
在框架视图的上下文菜单中,现在有一个新操作可以为所选框架打开常规的反汇编视图。视图与源代码并排打开,执行行会在两者中高亮显示。
2、在调试中附加到进程
CLion提供了将调试器附加到在IDE外部启动的本地进程的方式。更新的Attach to Process...(附加到进程…)操作对话框使进程更易查找和附加。
在新的表视图中以列表或树形式显示所有可用进程,查看启动进程的用户的名称、可用于此进程的调试器、启动进程的命令,以及为支持多个调试器的工具链选择一个调试器。了解详情
3、挂起或恢复单个线程
调试多线程应用程序时,在其他线程挂起的情况下逐步执行所选线程。为此,在调试器线程视图的上下文菜单或Run|Debugging Actions(运行|调试操作)菜单中使用Freeze/Unfreeze(冻结/取消冻结)操作。
LLDB支持所有4个操作。
对于GDB,只有Freeze Other Threads(冻结其他线程)和Unfreeze All Threads(取消冻结所有线程)可用。Windows上的GDB不支持这些操作。
三、Memory View(内存视图)
CLion提供的Memory View(内存视图)经过了大规模更新,修正了许多问题并增强了整体用户体验。
1、高亮显示更改
调试期间,CLion在内存视图中高亮显示所有更改的字节。此外,滚动浏览内存视图时,CLion现在会自动加载数据。
2、可配置视图
Memory View(内存视图)中的列数(即每行的字节数)现在可配置。点击视图中的设置图标即可更改。
四、C++语言支持
1、添加新C++20模块
CLion 2023.1添加了一个操作来帮助您在项目中创建新的C++模块接口单元。
在打开的对话框中,输入模块名称和类型(扩展名),并指定您是否希望CLion将新创建的模块添加到现有CMake目标。CLion将使用Settings/Preferences|Editor|File and Code Templates(设置/偏好设置|编辑器|文件和代码模板)中的文件模板创建新的模块文件。
2、更灵活的重构
Change Signature(更改签名)和Extract Function(提取函数)重构现在支持将函数设为const、constexpr或noexcept。
Extract Constant(提取常量)重构现在会建议使用constexpr和auto说明符声明新常量。
五、更简单的Clang-Tidy配置
CLion 2023.1附有更新的Clang-Tidy检查选项对话框:
所有选项现在都显示为预定义的默认值。
被更改的选项会以蓝色高亮显示并移至表顶部。
快速搜索:将表置于焦点位置,输入所需检查的名称即可。
六、对QML的支持
1、QML语法支持
CLion为在代码中使用Qt建模语言(QML)的用户带来了QML语法支持。包括:
代码高亮显示和代码补全改良了编辑体验。
用法的即时搜索。
Structure(结构)视图可供在QML文件中轻松导航。
Quick Documentation(快速文档)弹出窗口显示文本光标下符号的信息
2、QML格式化程序和其他设置
CLion中的QML语法支持适用于Qt5和Qt6。CLion默认使用qmlformat格式化QML代码。
Qt和QML路径、格式化工具qmlformat和QML语言服务器可以在Settings/Preferences|Languages&Frameworks|QML(设置/偏好设置|语言和框架|QML)中配置。
七、在Profiling(分析)和Coverage(覆盖率)中筛选
1、在分析器中筛选Call Tree(调用树)结果
分析结果中的Call Tree(调用树)标签页现在支持收起您不感兴趣的帧。例如,您可以隐藏库类或特定框架中的类,从而专注于应用程序代码。
2、筛选代码覆盖率结果
您现在可以在Coverage(覆盖率)视图中筛选文件,在测试时专注于最近更新的文件。默认情况下,您会看到包含未提交更改的文件列表。
八、输出控制台中的终端
CLion现在可以在输出控制台中模拟终端。此行为在Settings/Preferences|Advanced Settings|Run/Debug|Emulate terminal in the output console(设置/偏好设置|高级设置|运行/调试|在输出控制台中模拟终端)中默认启用,有助于处理基于文本的用户界面(TUI),例如curses/ncurses应用程序。
九、CMake增强功能
CLion 2023.1最高支持版本5的CMake预设,并捆绑了CMake v3.25。
1、CMake颜色设置
CMake新增了颜色设置,一种用于脚本的关键字,另一种用于CMake实参的关键字。
2、CMake更改通知
CMake重新加载通知现在浮动显示。它占用的编辑器空间更少,但同样醒目。
十、新UI测试版
1、紧凑模式
为了改善较小屏幕上CLion新UI的用户体验,我们引入了Compact Mode(紧凑模式),此模式缩小了间距和元素,提供更为统一的IDE外观。
Distraction Free(免打扰)模式
Zen和Distraction Free(免打扰)模式下的隐藏工具栏
我们改进了启用新UI时IDE的外观。顶部工具栏在Zen和Distraction Free(免打扰)模式下不再可见。
2、新的深色主题
CLion 2023.1具有新的深色主题,在用户启用新UI时默认激活。“旧”深色主题已被重命名为Darcula Contrast。
3、Run(运行)微件
主窗口标题中的Run(运行)微件经过重新设计,外观更柔和、更悦目。
4、在新UI中显示隐藏的标签页
新UI用户现在可以看到打开的编辑器标签页的完整列表。选择位于标签页行右侧的Show Hidden Tabs(显示隐藏的标签页)即可。
5、拆分工具窗口
新UI提供了垂直拆分工具窗口区域和便捷排列窗口的选项,与在旧UI中相同。
十一、用户体验
1、全IDE缩放
现在可以完全放大和缩小CLion,同时增加或缩减所有UI元素的大小。选择View|Appearance(视图|外观),调整IDE的缩放比例。您也可以在Settings/Preferences|Keymap|Main Menu|View|Appearance(设置/偏好设置|按键映射|主菜单|视图|外观)中指定调用这些操作的自定义快捷键。
2、多个工具窗口布局
在CLion 2023.1中,您可以保存和管理多个工具窗口布局,并根据需要在它们之间切换。使用新的Window|Layouts(窗口|布局)菜单,您可以将当前布局另存为新布局、更新已保存的布局或激活以前保存的布局。
3、Remember size for tool windows(记住工具窗口的大小)
新的布局选项允许您统一侧面工具窗口的宽度或保留在自定义布局时自由调整其大小的能力。新的Remember size for each tool window(记住每个工具窗口的大小)复选框位于Settings/Preferences|Appearance|Appearance&Behavior|Tool Windows(设置/偏好设置|外观|外观与行为|工具窗口)中。
4、保存时的操作
您可以为新项目预定义Actions on Save(保存时的操作)行为。转到File|New Projects Setup|Preferences For New Projects|Tools|Actions on Save(文件|新项目设置|新项目偏好设置|工具|保存时的操作),选择在未来项目中保存更改时要触发的操作。
十二、编辑器
1、粘贴内容的位置
您想将复制或剪切时未选择内容的行粘贴到哪里?CLion新增的特殊设置允许您控制粘贴内容的位置。在Settings/Preferences|Advanced Settings(设置/偏好设置|高级设置)中,找到Editor(编辑器)版块,然后从下拉列表中为Paste(粘贴)操作选择所需行为。
2、显示空格
CLion 2023.1在Settings/Preferences|Editor|General|Appearance|Show Whitespace(设置/偏好设置|编辑器|常规|外观|显示空格)中提供了一个新的Selection(选区)复选框,允许您配置此设置,让IDE仅在选择代码时将空格显示为小点。
十三、VCS
1、Structure(结构)视图中的VCS状态
为了更便于跟踪对文件的更改,我们在Structure(结构)工具窗口中添加了颜色提示。
被修改对象的名称现在为蓝色,新添加对象的名称在工具窗口中高亮显示为绿色。
2、针对分支的增强
CLion 2023.1在Create New Branch(创建新分支)弹出窗口中提供了自动补全。为新分支输入名称时,IDE将根据现有本地分支的名称建议相关前缀。
在Branches(分支)弹出窗口中,分支被分组并存储在可扩展列表中,导航更加轻松。
3、针对GitHub改进了代码审查工作流
为了改进在IDE中审查代码的流程,我们重做了Pull Request(拉取请求)工具窗口。它现在会为您打开的每个拉取请求提供一个专用标签页。标签页会立即显示已更改文件的列表,但它提供的信息比先前更少,让您可以更好地专注于当前任务。还可以通过一个新增的专属按钮轻松执行拉取请求当前状态下最重要的操作。
十四、Markdown
1、重新格式化表
新的意图操作可更正Markdown文件中表的格式设置。您可以通过Context actions(上下文操作)快捷键(Alt+Enter)或点击黄色灯泡图标并从出现的列表中选择Reformat table(重新格式化表)来使用快速修复。
2、填充段落
Markdown文件现在支持Fill Paragraph(填充段落)编辑器操作,可以将长文本分成几个长度相等的行。将文本光标置于要编辑的段落内,然后从Edit(编辑)菜单调用操作,或使用Find Action(查找操作)搜索Fill Paragraph(填充段落)命令。
十五、Rust插件更新
作为持续改进宏支持的一部分,IntelliJ Rust插件现在在类函数宏和特性宏调用中显示内嵌类型提示。除了内嵌提示,插件还开始高亮显示特性宏调用中的错误。
新版本的插件提供了从自动导入中排除特定条目的方法。最恼人的情况,例如来自stdlib的Borrow和BorrowMut特征的方法,默认已被此机制排除。
从这个版本开始,插件会在调试期间显示任何结构引用和指针背后的内容,以及原始切片指针的内容。