C++新进程:新版CLion将添加Qt UI模块助力界面开发

CLion是一款专为开发C及C++所设计的跨平台IDE 。 它是以IntelliJ为基础设计的 , 包含了许多智能功能来提高开发人员的生产力 。 这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++ , 同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统 , 从而提高开发人员的工作效率 。
【C++新进程:新版CLion将添加Qt UI模块助力界面开发】您是否已使用过上周CLion 2020.3 EAP中提供的新Core Dump调试?如果没有 , 我们建议您尝试一下 。 同时 , 我们将通过一系列新的增强功能和修补程序来推进EAP周期 。 今天在EAP中:

  • 创建Qt UI类文件的新操作 。
  • 新的提取Lambda参数重构 。
  • 自动将排除目录添加到远程配置的排除路径 。
  • 添加了一个选项 , 以禁用默认变量初始化程序的“Unused Value”
  • 一组新的MISRA 。
Qt UI类模板
在此EAP版本中 , 在“ New”菜单中添加了一个新项目 , 可帮助您创建一个Qt类以及一个.ui文件– Qt UI类:
C++新进程:新版CLion将添加Qt UI模块助力界面开发文章插图
要打开此菜单 , 请在项目视图中右键单击树 , 或Alt+Insert在Windows / Linux或?NmacOS上使用 。
填写类名并选择父类(QWidget, QMainWindow, 或 QDialog) 。 .h/.cpp/.ui文件将使用Filename base作为文件名生成 。 如果您愿意 , 您也可以在对话框中更改Filename base 。
C++新进程:新版CLion将添加Qt UI模块助力界面开发文章插图
生成的文件遵循 "Settings/Preferences | Editor | File and Code Templates "中列出的文件模板--Qt Class, Qt Class Header, Qt Designer Form 。 您可以根据自己的需要自由调整模板 。
C++新进程:新版CLion将添加Qt UI模块助力界面开发文章插图
CLion尚不支持QML语法 , 但是 , 您可以安装提供一些基本支持的第三方插件 。
提取Lambda参数
在CLion支持的重构列表中添加了新的Extract Lambda参数重构 。 它用于将表达式或语句提取为带有作为相应参数传递的lambda表达式的新参数 。 例如 , 它可以是传递给排序功能的比较器 。
当您要为代码引入更大的灵活性并重用某些代码块时 , 所有Extract…重构通常都非常有用 。
注意 , Extract…重构仍然存在一些主要问题 。 以下是一些最著名的:
  • CLion会在“Extract Parameter”中扩展模板 , 而不是使用规范的typedef 。
  • 使用引用Extract Function代码生成无效语法 , 因为声明的结果引用没有初始化表达式 。
  • Extract Function 错误地应用于const参数 。 我们计划在2020.3版本中解决上述两个问题 。
  • 在一些已知的情况下 , Extract…重构会中断带有宏的代码 。
2021年有一个总体计划 , 重点是对重构正确性的总体改进 。 可能需要一段时间 , 但是我们希望通过一些重大的语言引擎改进来解决此问题 。
排除远程部署中的路径
对于庞大的代码库 , 我们有一些性能调整技巧来帮助CLion在这类项目上更快地工作 。 其中之一是通过将某些文件夹和文件排除在索引之外来加快索引的速度 。 默认情况下 , CLion 会对 CMakeLists.txt 中列出的所有目录进行索引 , 以便正确解析代码 。 然而 , 您的项目可能包含有二进制文件、日志或构建工件的文件夹 , 这些文件夹不影响CLion代码的洞察力 。 另外 , 由于某些文件夹的大小或位置 , 索引这些文件夹可能会过于昂贵 。 在这种情况下 , CLion可以通过Mark Directory as | Excluded动作来帮助 。 但是 , 在完全远程模式下 , 当CLion将源同步到远程机器上时 , 这种被排除的目录会怎样呢?
好问题!现在我们有了一个很好的答案 。
  • 本地标记为Excluded的目录在初始配置时 , 会自动标记为远程工具链的Excluded路径 。 实际上 , 这意味着这个目录不会与远程机器同步 。
  • 您可以在 "Settings/Preferences | Build, Execution, Deployment | Deployment"中手动调整当前项目的排除路径列表 。

C++新进程:新版CLion将添加Qt UI模块助力界面开发文章插图
  • 当您已经配置了远程工具链并且同步了项目时 , 可以将目录标记为已排除 , CLion将建议您更新已排除的路径:

C++新进程:新版CLion将添加Qt UI模块助力界面开发文章插图
  • 完成后 , 排除的文件夹将不会进一步同步 。