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

C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看

itomcoil 2024-12-29 03:54 21 浏览

距上次更新 1 年后,Jetbrains 旗下的 C/C++ 开发工具 CLion 迎来新版——CLion 2020.1 。

据官方介绍,CLion 2020.1 针对许多 IDE 功能带来诸多改进,比如语言支持、 the debugger(调试器)、the formatter(格式化器)和 refactorings(重构)等。

“除 Windows 开发人员,嵌入式和 CUDA 项目的开发人员也能体会到 CLion 为他们带来的好处。”Jetbrains 写道。

CLion(30 天免费试用版)的下载地址。

1. 嵌入式开发

IAR 工具链

如果你在嵌入式项目中使用 IAR 编译器 / 工具链,那现在,你在 CLion 中也可以这样做了。收集编译器信息不会再出现失败,这意味着使用 IAR 工具链的项目将会成功加载,并在 CLion 中运行。

这有几点事项要注意:

  • MinGW 是必需的。
  • 关于在 IAR Embedded Workbench 使用 CMake 的一些技巧。

PlatformIO

PlatformIO 是正在迅速普及的新一代生态系统。要在你的嵌入式项目里从中受益,请利用新的 PlatformIO for CLion 插件,该插件具有以下新功能:

  • 将 PlatformIO 项目类型添加到“New Project”(新建项目)向导中。
  • 生成基于 CMake 的相应 PlatformIO 项目。
  • 自动创建用于调试和上载的配置。
  • 允许在线通过 PIO Unified Debugger(统一调试器)在 CLion 中进行调试。

还有更多新功能,请查看官方文档了解更多细节。

2.CUDA 支持

代码解析和代码辅助

在 CUDA C 和 C++ 中的代码,包括所有 CUDA 特定的扩展,现在可以正确地解析并高亮显示了。这意味着代码导航、软件文档和其他代码辅助操作在 CUDA 代码中都能正常工作。此外,CLion 还可以完成内核调用的尖括号。

让我们从 GitHub 克隆 ClaraGenomicsAnalysis 项目,看看 CLion 在 CUDA 支持方面的能力。

新建项目向导

CLion 中的“New Project”(新建项目)向导已经更新,增加了创建 CUDA 项目的新选项:Library (库) 或 Executable (可执行文件)。选中该选项后,它将生成示例 CMakeLists.txt 和 main.cu 文件。

文件扩展名和 CMake 目标

在 “New C/C++ Source File”(新建 C/C++ 源文件)对话框中新增了 CUDA 文件扩展名的支持:.cu 和 .cuh。这个对话框要更新的可能目标列表包括常规 CMake 和 CUDA 特定目标(使用 cuda_add_executable 和 cuda_add_library 命令创建)。

点此处了解更多信息。

3.Windows 环境下的开发

Clang-cl

我们现在已经可以在 Windows 上使用 CLion 中的 Clang-cl,支持 8.0 及以后的版本。

你能从 LLVM 网站或与 Visual Studio 工具一起安装。安装完成后,在 CLion 中选择 Visual Studio 工具链,然后在工具链设置中指向 clang-cl.exe。

Visual Studio C++ 工具链的调试器

JetBrains 为 Visual Studio C++ 工具链开发的基于 LLDB 的调试器,现在它已经是该工具链的默认调试器。因此你可以马上开始使用。

注意,要明确启用对原生可视化工具的捆绑支持,应该这样开启:Settings(设置)| Build(构建)、Execution(执行)、Deployment(部署)| Debugger Data Views(调试器数据视图)| Enable NatVis renderers for LLDB(启用 LLDB 的 NatVis 渲染器)。

4. 运行和调试配置

远程和嵌入式 GDB 的自定义目标

Remote GDB Server(远程 GDB 服务器)和 Embedded GDB Server (嵌入式 GDB 服务器) 配置现在可用于自定义目标了。这些配置以前只适用于 CMake 目标,让你能从本地计算机上运行的 CLion 实例中调试远程主机或微控制器上的应用程序。

如果你已经创建了这些配置,CLion 2020.1 将在项目文件夹中的 projectFilesBackup 目录中存储以前的 Run/Debug Configuration(运行 / 调试配置)设置,并将就此通知你。

支持在运行 / 调试配置中使用宏和路径变量

现在,你能在 CMake、Custom Build(自定义构建)和 Gradle Native Applications(Gradle 本地应用)配置中的 Program Arguments(程序参数)和 Working Directory(工作目录)字段中使用 Path Variables(路径变量)和宏了。宏可以帮助你获取以下对象的值:

  • 当前 CMake 运行配置的构建目录。
  • 当前 CMake 运行配置的生成目录。
  • 项目文件目录。
  • 还有许多其他。

FilePrompt/Prompt 宏可以用来在运行 / 调试配置时显示文件选择对话框或字符串输入对话框。

Path Variable(路径变量)可以定义库的路径,该库在项目中广泛使用,但不在项目文件目录之中。

输入重定向

如果需要将输入从文件重定向到应用程序的 STDIN,现在可以这样做了。在配置中使用名为 Redirect input from 的新字段。输入:

  • 相对路径(CLion 将以 Working directory path(工作目录路径)为前缀)。
  • 绝对路径(将为远程配置重新映射)。
  • 或宏(如 FilePrompt)。

5.Clang 工具

Clangd 上的数据流分析

CLion 的 Data Flow Analysis (DFA,数据流分析)能完成编译器通常不能做的事情:它分析数据如何流经代码,并根据结果检测潜在问题。它可以捕获始终为 false/true 的条件、无限循环、缺失的返回声明、无限递归,等等。在 2020.1 版本中,DFA 已经转移到基于 Clangd 的语言引擎上,在性能上变得更加准确,也更加精简。尽管这项工作仍在进展之中,但已经取得了一些好成果!

仅靠 Clangd 即可实现代码补全

默认情况下开启了一种新的模式,在这种模式下,基于 Clangd 的语言引擎完全提供完整结果。这种模式解决了当多个引擎的代码完成结果混合在一起时出现的优先级和排序问题。这种行为是由 Settings(设置)|Languages & Frameworks(语言和框架)|C/C++|Clangd 中的 Code Completion(代码完成)设置控制的。

这个新模式因几十种不同的修复和增强功能更准确、更强大。

点此处了解更多信息。

ClangFormat

现在,当你第一次打开项目根目录中包含 .clang-format 的配置文件的项目时,CLion 将检测到该项目并自动切换到 ClangFormat。

如果你在没有 .clang-format 配置文件的项目上启用了 ClangFormat,CLion 会建议为你创建一个。

Clang-Tidy

当在项目中检测到 .clang-tidy 配置文件时,CLion 现在会自动关闭 Clang-Tidy 的 IDE 设置的使用。这一行为是由 Prefer.clang-tidy 文件控制的,而不是通过 IDE 设置中的 Settings(设置)|Editor(编辑器)|Inspections(检查)|C/C++|General(通用)|Clang-Tidy 控制。

6. 代码格式化器和代码折叠

新的命名设置

结构成员字段和类成员字段现在有了单独的命名设置。在 Settings(设置)|Editor(编辑器)|Code Style(代码风格)|C/C++|Naming Convention (命名约定)中查看。

代码折叠

#pragma region 和 #pragma endregion 可用于 CLion 的代码折叠。

7. 重构更新

在调用 Change Signature 进行重构(Ctrl+F6)时,CLion 将会更新该函数的所有用法。Change Signature 对话框中的一个新的 Default value 字段提供了指定要在所有用法中使用的参数值的功能。保持为空,以便像以前一样使用默认值类型。

相同的逻辑和新的 Default value (默认值)字段应用于 Create Parameter From Usage(根据使用情况创建参数)的快速解决和 Add Parameter to Constructor(向构造函数中添加参数)的意图。

8. 编辑器

快速文档

Quick Documentation(快速文档)——一种通用的工具,可以预览文档,并获取有关函数签名、推断类型和宏替换的信息。它可以通过 Settings(设置)|Editor(编辑器)|Code Editing(代码编辑)中的“Show quick documentation on mouse move”(鼠标悬停显示快速文档)的设置进行控制。

JetBrains Mono 和 IntelliJ Light

编辑器中的默认字体已更改为 JetBrains Mono ,这是 JetBrains 创建的一种新的开源字体。它的设计是为了让阅读代码更容易。

IntelliJ Light,一种新的默认 light 主题,现在是所有不同操作系统的标准主题。如果你想选择一个非默认的主题,请使用 View(视图)|Quick Switch Scheme(快速切换组合)|Theme to select a non-default theme(选择非默认主题的主题)来选择非默认主题。

拆分终端会话

使用 CLion 2020.1,你可以垂直或水平拆分终端会话,这样就可以并排运行这些终端会话。你可以从终端调用上下文菜单来创建、导航和关闭拆分的终端会话。

9. 版本控制

新建提交工具窗口

更新后的工具窗口为修改后的文件列表和差异提供了更多的空间,还允许你在提交准备就绪时,将更改添加到提交中,迭代地编写提交消息,并选择将哪些分段更改进入哪个提交中。

新用户默认启用的是新的用户界面;而现有用户可以在 Settings(设置)|Version Control(版本控制)|Commit(提交)中切换到新的用户界面。

从此处以交互方式进行变基(rebase)提交

一个更新的、真正的交互式对话框使以下操作成为可能:

  • 选择要对分支中的每个提交执行的操作。
  • 检查显示已应用哪些操作的图表。
  • 查看提交详细信息。
  • 查看差异列表,并在必要时检查或重置更改。

从 IDE 中安装 Git

Version Control(版本控制)工具窗口现在称为 Git 工具窗口,或者 Subversion/Mercurial/Perforce(如果你使用这些窗口中任何一种而不是 Git 的话)。

你不再需要手动预装 Git 了!当你使用 Git 打开一个项目或从 VCS 导入一个项目时,如果你的机器上没有 Git 的话,CLion 会提供下载并安装 Git。

10.Rust 插件更新

通过对 LLDB 支持的改进, IntelliJ Rust 现在可以正确地渲染枚举类型和原始类型(primitive types),它还可以在调用堆栈中显示符号重组(demangle)的函数名。

该插件的另一个主要更新是 REPL 集成。从 Tools(工具)|Rust REPL调用控制台,并将其用于原型设计和逐行检查代码。该集成提供了语法高亮显示和代码完成功能,以及一些方面的控制台操作:命令历史记录、软换行、快速滚动到末尾等等。

在语言支持方面,IntelliJ Rust 现在可以处理类型别名的 impl 块。考虑到性能,我们只对别名数量有限的类型启用了这个功能。

其他增强功能还包括高亮显示未使用的本地变量、cfg 属性注重中的修复以及新的 Lift 返回检查。

其他改进

  • 现在,所有远程配置都可以使用通用和统一的 SSH Configurations(SSH 配置)用户界面了。无论新的 SSH 配置文件源自何处(远程工具链设置或远程 GDB 服务器配置),它都会在 Settings(设置)|Tools(工具)|SSH Configurations(SSH 配置) 有一个条目。
  • 如果你只想专注于源代码,你可以选择一种新的 Zen(禅宗)模式,它将无干扰模式与全屏模式结合在一起。要启用这个模式,请使用 View(视图)|Appearance(外观)|Enter Zen Mode(进入禅宗模式)。

关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书!

相关推荐

PS小技巧 调整命令,让人物肤色变得更加白皙 #后期修图

我们来看一下如何去将人物的皮肤变得更加的白皙。·首先选中图层,Ctrl键加J键复制一层。·打开这里的属性面板,选择快速操作删除背景,这样就会将人物进行单独的抠取。·接下来在上方去添加一个黑白调整图层,...

把人物肤色提亮的方法和技巧

PS后期调白肤色提亮照片的方法。一白遮百丑,所以对于Photoshop后期来说把人物肤色调白是一项非常重要的任务。就拿这张素材图片来说,这张素材图片人脸的肤色主要偏红、偏黄,也不够白皙,该怎样对它进行...

《Photoshop教程》把美女图片调成清爽色彩及润肤技巧

关注PS精品教程,每天不断更新~~室内人物图片一般会偏暗,人物脸部、肤色及背景会出现一些杂点。处理之前需要认真的给人物磨皮及美白,然后再整体润色。最终效果原图一、用修补工具及图章工具简单去除大一点的黑...

PS后期对皮肤进行美白的技巧

PS后期进行皮肤美白的技巧。PS后期对皮肤进行美白的技巧:·打开素材图片之后直接复制原图。·接下来直接点击上方的图像,选择应用图像命令。·在通道这里直接选择红通道,混合这里直接选择柔光,然后点击确定。...

493 [PS调色]调模特通透肤色

效果对比:效果图吧:1、光位图:2、拍摄参数:·快门:160;光圈:8;ISO:1003、步骤分解图:用曲线调整图层调出基本色调。用可选颜色调整图层调整红色、黄色、白色和灰色4种颜色的混合比例。用色彩...

先选肤色再涂面部,卡戴珊的摄影师透露:为明星拍完照后怎么修图

据英国媒体12月17日报道,真人秀明星金·卡戴珊终于承认,她把女儿小北P进了家族的圣诞贺卡,怪不得粉丝们都表示这张贺卡照得非常失败。上周,这位39岁的女星遭到了一些粉丝针对这张照片的批评,她于当地时间...

如何在PS中运用曲线复制另一张照片的色调

怎样把另一张作品的外观感觉,套用到自己的照片上?单靠肉眼来猜,可能很不容易,而来自BenSecret的教学,关键是在PS使用了两个工具,让你可以准确比较两张照片的曝光、色调与饱和度,方便你调整及复制...

PS在LAB模式下调出水嫩肤色的美女

本PS教程主要使用Photoshop使用LAB模式调出水嫩肤色的美女,教程调色比较独特。作者比较注重图片高光部分的颜色,增加质感及肤色调红润等都是在高光区域完成。尤其在Lab模式下,用高光选区调色后图...

在Photoshop图像后期处理中如何将人物皮肤处理得白皙通透

我们在人像后期处理中,需要将人物皮肤处理的白皙通透,处理方法很多,大多数都喜欢使用曲线、磨皮等进行调整,可以达到亮但是不透,最终效果往往不是很好,今天就教大家一种如何将任务皮肤处理得白皙通透,希望能帮...

PS调色自学教程:宝宝照片快速调通透,简单实用!

PS调色自学教程:宝宝照片快速调通透。·首先复制图层,然后选择进入ACR滤镜,选择曲线锁定照片的亮部,也就高光位置,其他部位补亮一点,尤其是阴影的部位补亮多一些,让画面的层次均匀一点。·然后回到基本项...

【干货】如何利用PS进行人物美化

人物图像美化在Photoshop中非常常用,Photoshop作为一款功能强大的图像处理软件,不仅可以对人像进行基本的调色、美化和修复等处理,还可以改变人物的线条和幅度,如调整脸部器官和脸型的大小、调...

教大家一种可以快速把肤色处理均匀的方法@抖音短视频

快速把肤色处理均匀的方法。今天教大家一种可以快速把肤色处理均匀的方法。像这张照片整体肤色走紫红色,但是局部偏黄缘处理起来非常的麻烦。其实我们只需要新建空白图层,图层混合模式更改为颜色,再选择画笔工具把...

PS调色教程 利用RAW调出干净通透的肤色

要么不发,要么干货。后期教程来噜~用RAW调出干净通透的肤色。这次终于不会原片比PS后好看了吧。如果你依然这么觉得,请不要残忍的告诉我这个事实,泪谢TAT)附送拍摄花絮,感谢各位的支持更多风格请关注m...

photoshop后期皮肤变白的技巧

PS后期皮肤变白的技巧。1.PS后期让皮肤变白的方法有很多种,接下来教你一种非常简单容易上手的方法。2.打开素材图片之后,直接在小太极下拉框的位置添加一个纯色调整图层,颜色设置一个纯白色,点击...

Photoshop调出人物的淡雅粉嫩肤色教程

本教程主要使用Photoshop调出人物的淡雅粉嫩肤色教程,最终的效果非常的通透迷人,下面让我们一起来学习.出自:86ps效果图:原图:1、打开原图复制一层。2、用Topaz滤镜磨皮(点此下载)。3、...