百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

CLion新版增强谷歌测试支持,Makefile,Qt等功能

bigegpt 2024-09-10 11:18 4 浏览

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。感兴趣的朋友欢迎下载试用!

增强的Google测试支持

CLion支持最流行的C ++单元测试框架,还为CMake项目提供了内置的CTest运行程序。除了研究2020.3中的CTest之外,还致力于对Google Test集成以及内置的测试运行程序进行一些改进:

  • 现在,CLion在内置测试运行器中显示完整的测试树,同时一个接一个地执行测试。
  • 对于参数化测试,CLion现在在测试树中立即显示测试参数。
  • 现在,禁用的测试(DISABLED名称中带有前缀的测试)也将显示在测试树中,并带有相应的图标。


顺便说一下,我们2020年的研究表明,有31%的C ++开发人员正在使用Google Test,这使其成为世界上最受欢迎的单元测试框架。希望以上改进能使您在CLion中使用Google Test的体验更流畅,更高效。

重新编译Makefile项目的单个文件操作

为了加快开发过程,有时您可能需要编译一个文件而不构建整个项目。为此,CLion提供了“Recompile”操作。现在,它适用于Makefile项目!在Windows / Linux上(使用Ctrl+Shift+F9),在MacOS上使用??F9,或者干脆通过Build | Recompile ‘file name’构建它。

为Qt项目提供更多帮助

到目前为止,在2020.3 EAP中,已经宣布了针对Qt Console可执行文件和Qt Widgets可执行项目类型的新Qt模板。在此版本中,改进了这些模板的“New project”对话框,添加了Qt CMake前缀路径字段和Qt版本:

模板本身也已更新。

信号和时隙机制是Qt的主要特征,因为它们是用于对象之间通信的实体。现在,CLion知道何时必须完成信号或插槽,并仅在完成下拉列表中过滤相应的成员。例如,对于信号:

或插槽:

当然,SIGNAL和SLOT宏也是在这样的位置代码完成可用,而所有不相关的类成员被过滤掉。

最后,CLion现在支持Qt样式的自动导入。例如,对于QUrl类型,将建议:#include

模板的更准确的代码完成

自从将代码完成功能转移到CLion中基于Clangd的引擎以来,我们已经对其进行了重大改进。它变得越来越快,越来越准确,我们正在不断改进它。这次,我们修复了模板的几个代码完成问题。

  • 固定:功能模板中的容器元素未完成显示(CPP-20919)。
  • 修正:完成不能正确使用模板类型(CPP-22204,CPP-19682)。

Clang-Tidy更新通知

CLion使用基于Clang的语言引擎和相应LLVM版本中的Clang-Tidy。内置的Clang-Tidy的版本可以在“Settings/Preferences | Languages & Frameworks | C/C++ | Clang-Tidy完成。在配置文件中使用“-*”模式时,某些较新的检查可能不会在CLion中显示。

我们引入了一条通知,通知您何时将Clang-Tidy更新到新版本,以便您可能需要更新配置文件。

如果您单击通知中的“Review”链接,则会根据当前配置文件获得可用新支票及其激活状态的列表:

如果您不依赖CLion配置来使用Clang-Tidy,而是使用自己的配置,则通知还会警告您“ clclang-tidy files may overwrite your IDE settings”。在这种情况下,您可以手动检查.clang-tidy配置文件。

需要注意的一些重要限制:

  • 您可能暂时不会看到通知,因为我们将使用当前的12.0.0版本作为基准,然后在下一次Clang-Tidy更新期间将其与之进行比较。
  • 这不适用于降级。
  • 这不适用于在CLion中选择的自定义Clang-Tidy二进制文件,仅适用于捆绑的二进制文件。
  • 目前,每次启动新的IDE版本时,通知仅显示一次,但是Clang-Tidy配置设置因项目而异。我们仍在寻找解决方案,欢迎提出想法。

其他改进

其他增强功能包括:

  • 现在, CLion的WSL支持可以正确选择openSUSE-Leap-15-2发行版。
  • 我们继续进行CLion中的MISRA检查,并添加了更多内容。我们很想知道您是否通常在C ++ 11或更高版本中使用MISRA C ++准则。我
  • VCS:Git选项卡已添加到“Search Everywhere”对话框中。在这里,您可以找到提hashes 和 messages, tags, branches
    现在,在“
    Commit ”屏幕上明确显示了两个最受欢迎的按钮CommitCommit and Push”

这些功能是不是很酷?点击“了解更多”免费下载最新版尝试一下,在评论分享你的想法。

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...