网站首页 > 博客文章 正文
这个新版本对代码分析进行了大修,使其能够捕获更多潜在问题和准则不一致,增强了调试体验,并改善了远程模式的功能。除了改善的C和C ++体验,CLion 2021.1还引入了更新的Rust和Swift支持以及IntelliJ平台的重要更改。
点击文末“了解更多”可直接进行更新:
在此版本中:
- 代码分析
- 全局数据流分析
- 疯狂整合
- 更多MISRA检查
- 各种项目类型(Qt,Makefile,CMake)的增强功能
- 打开项目向导
- 调试器
- 在反汇编中 设置执行点
- 核心转储调试
- 远程开发
- 远程模式下的动态分析。分支机构覆盖率
- 打开远程主机终端
- Code With Me,一项用于协作开发和结对编程的新服务
- C和C ++的Postfix完成
- VCS支持增强
- Rust和Swift插件更新
代码分析
尽早发现问题并根据准则检查代码对于提高代码质量至关重要。IDE可以通过运行代码检查并在代码编辑器中即时突出显示潜在问题来帮助完成此任务。
在CLion 2021.1中,着重于在三个主要领域中改进可用于用户的代码分析检查的多样性和准确性:
- 除本地DFA(在单个功能内工作)之外,还包括全局DFA(将程序的整个翻译单元作为一个单独的单元进行分析)。
- 与面向Qt的静态代码分析器Clazy集成。
- 引入了来自MISRA C 2012和MISRA C ++ 2008的更多检查。
数据流分析(DFA)跟踪代码中的数据流,并基于该分析来检测潜在问题。它能够检测到危险的情况,如悬空指针,空null取消引用或变量逃避其作用域。CLion以前在单个函数的主体内本地运行了这些检查。在v2021.1中,CLion包含全局DFA,该DFA在翻译单元上运行这些检查。这在更广泛的情况下都会遇到相同的问题。
全局DFA不仅是对本地DFA的改进,而且还使得可以运行仅在全局模式下才可能执行的其他检查:
- 常量函数结果 - 报告函数的返回值似乎总是相同的常量。
- 常量参数--报告那些参数似乎总是相同的常量的函数。
- 不可到达的函数调用 - 检测那些调用点从未被执行的函数。
在引入全局DFA的同时,我们重做了很多下划线的算法,提高了分析性能。
如果你正在 CLion 中处理基于 Qt 的项目,你会很高兴地了解到 Clazy,一个 Qt 专用的代码分析器,现在已经集成到 CLion 基于 Clangd 的引擎中。你现在可以在编辑器中获得Clazy的检查和快速修复功能。
检查的严重程度和Clazy检查级别可以在Settings/Preferences | Editor | Inspections | C/C++ | General | Clazy中配置。
在CLion 2021.1的代码分析更新中,我们想说的是,我们又增加了一个MISRA C 2012和MISRA C++ 2008检查包。并非所有的检查都支持,但与之前的版本相比,改进是显著的。完整的可用检查列表保存在我们的confluence页面上,可以让你轻松地跟踪我们的进展。
各种项目类型的增强
除了我们使用Clazy分析器为Qt添加的新代码分析支持之外,我们还通过对New Qt UI Class对话框进行了小型重新设计,从项目模型的角度改善了Qt体验。您现在可以:
- 指定名称空间。
- 为父类键入一个自定义名称(以前只能从几个预定义的选项中进行选择)。
如果你正在做一个基于 Qt 的项目,你会对 Qt Creator keymap 感兴趣,它现在已经被捆绑到 CLion 中。
我们继续改进 CLion 中的 Makefile 项目支持。在这个版本中,我们已经捆绑了 Makefile 语言插件(之前是第三方),它提供了 Makefile 中的语法高亮、快速文档、目标的 Find Usages 以及各种导航和代码完成操作。我们还开始为Makefile项目提供远程模式支持。
现在它可以在有限的用例中工作。Makefile应该存在于项目目录中,请注意,如果需要预配置步骤,CLion暂时无法自动完成。查看其他限制和已知问题。
对于 CMake,我们增加了共享 CMake Profiles 的功能。在 Settings/Preferences | Build, Execution, Deployment | CMake 中勾选 Share 设置,然后提交 cmake.xml 到 VCS。
CLion 2021.1还捆绑了CMake 3.19。这是第一个支持 Apple Silicon(M1 芯片)的 CMake 版本。
无论你使用的是哪种构建系统,Project View 都能让你对项目中的文件一目了然。位于项目根目录外的源文件现在被归入项目树中的External Sources节点下。这有助于防止这些文件的顶层拥挤。
点击下方“了解更多”立即免费升级到最新版本!
猜你喜欢
- 2024-10-03 Qt4/5升级到Qt6吐血经验总结V202308
- 2024-10-03 微软兑现承诺:更新Linux子系统,编译WSL 2内核只需3步
- 2024-10-03 centos7使用源码从python2升级到python3,干货值得收藏
- 2024-10-03 CPack 入门指南(cpaks)
- 2024-10-03 C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看
- 2024-10-03 centos7升级glibc(centos7升级gcc)
- 2024-10-03 ReactOS年度报告:改进shell,增强应用管理
- 2024-10-03 CMake构建Makefile深度解析:从底层原理到复杂项目
- 2024-10-03 CBrother升级至V2.5.5,支持编译和打包
- 2024-10-03 网上看了不少,终于把ZlmediaKit流媒体框架搭建起来啦
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)