彩票走势图

CLion 2021.2:支持Cmake 3.2, 增强WSL功能!|附下载

转帖|产品更新|编辑:鲍佳佳|2021-07-12 11:21:07.807|阅读 466 次

概述:CMake 3.20现在支持并捆绑在 CLion 中。此版本包括 CMake Presets、CMake File API 的主要更新、对 C++23 编译器模式的支持以及针对 CUDA 开发人员的许多更新。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

CLion 2021.2 EAP 计划现已开始!

下载 CLION 最新版本

查看主要亮点并阅读帖子以了解更多详细信息:

  • CMake 增强功能:
    • 支持 v3.20
    • 加载 CMake 预设操作
    • 新 CMake 项目的模板
    • 能够在启动运行配置之前执行 CMake 目标
  • 寿命分析
  • 紧贴支撑
  • WSL 增强功能:
    • 在 WSL 发行版中删除对 SSH 服务器的要求
    • 支持自定义 WSL 发行版
  • 本地历史中的文本搜索

Cmake

CMake 3.20

CMake 3.20现在支持并捆绑在 CLion 中。此版本包括 CMake Presets、CMake File API 的主要更新、对 C++23 编译器模式的支持以及针对 CUDA 开发人员的许多更新。

CMake 预设

CMake 预设是一种配置 CMake 选项并与他人共享的新方法。这一切都归功于两个文件:

  • CMakePresets.json用于保存项目范围的构建,并且可以检入 VCS。
  • CMakeUserPresets.json旨在供开发人员保存他们自己的本地构建,不应签入 VCS。

另一方面,CLion 与CMake 配置文件一起运行——这些实体特定于 CLion,但与 CMake 预设有许多共同的设置,也可以通过 VCS 共享。主要区别在于它们引用了 CLion 工具链,不应与 CMake 工具链混合使用。它们用于不同的目的,CMake 工具链无法涵盖 CLion 用例。CLion 工具链为其他项目模型提供服务,并包含 CMake 工具链中不存在和不需要的信息,例如调试器和环境设置(远程主机、WSL 等)。

现在我们已经解释了差异,想宣布CLion 现在支持从 CMake Presets 导入信息。这只是在 CLion 中实现 CMake Presets 支持的第一步,我们渴望听到您对我们工作方式的反馈。

负载CMake的预设动作(使用find通过按Ctrl + Shift + A /⇧⌘A行动的名字找到它)搜索通过现有的构建预设在弹出并显示它们:

加载 CMake 预设


当选择时,CMake预设被导入CLion CMake Profiles的只读模式中。你可以在Settings/Preferences | Build, Execution, Deployment | CMake中查看配置文件的列表。

预设已加载

已知限制和进一步计划:

  • 导入的预设是只读的。但是,您可以打开相应的 JSON 文件,在 CLion 中对其进行编辑,然后保存文件(目前不支持自动保存 – CPP-25076)并在 CLion 中重新加载预设。
  • CLion 目前仅支持版本 2 预设和buildPresets
  • 导入后,CLion 中的 CMake Preset 会获取到 CLion 工具链的链接。目前,它是默认工具链,但稍后我们将提供配置它的方法。
  • 其他问题记录为子任务到这一个。
  • 在 CLion 中支持 CMake Presets 的一般任务要广泛得多 ( CPP-22906 ),并且可能包括一种从 CLion UI 更新预设的方法。

CMake 项目模板

除了新文件的CMakeList.txt文件模板,CLion 现在还为新的 CMake 项目提供可编辑的模板。您可以在设置/首选项 | 中找到它们。编辑 | 文件和代码模板 | 其他:

CMake 模板

那里提供 C 和 C++ 库和可执行文件、CUDA 库和可执行文件以及 Qt 项目。当您通过 File | 创建新项目时会使用这些模板。新建项目向导。

CMake 目标为启动前任务

在Run/Debug 配置的Before Launch部分,用户可以指定在启动所选目标之前要执行的任务。默认情况下,那里有一个构建步骤。您现在可以在此阶段添加 CMake 目标任务来执行 CMake 目标:

发射前

将建议内置(例如,allcleaninstall)和用户指定的(通过add_executableadd_custom_target创建)目标:

发射前清洁

寿命分析

根据C++ 基金会开发人员调查,诸如释放后使用/删除之类的内存安全问题是 C++ 开发人员最受挫的问题之一。该终身安全建议是试图解决在C ++语言的这些问题。这个想法是通过使用本地分析在编译时诊断悬空指针和引用(释放后使用,移动后使用)的常见情况。本地分析使用所有者、共享所有者和指针的概念。GSL 库自带注解来标记代码,帮助本地分析。

例如,此处 CLion 警告您有关在销毁临时字符串后字符串视图引用无效对象的信息: 终生样本

CLion 还捕获了局部变量指向超出范围的内存的各种情况:

范围外样本

分析中还支持 GSL 注释:

GSL 注释生命周期

分析在函数体的范围内运行。虽然它不能解决所有问题,但它已经可以显着帮助解决最令人不安的 C++ 问题之一。

紧贴支持

你可能想不到,有一个交互式的C++解释器Cling(查看其GitHub页面),建立在Clang和LLVM之上。它对原型设计和学习C++非常有用。你可以在这里找到一个简短的视频,解释使用Cling的基本原理。

有了这个EAP,Cling现在在CLion中得到了支持。要在CLion中开始使用Cling,请下载适用于你的平台的Cling可执行文件或通过你的操作系统特定的依赖管理器(如macOS上的brew)安装它,并在Settings/Preferences | Languages & Frameworks | C/C++ | Cling中配置一个路径。如果Cling在PATH中,CLion会自动检测到它。

你已经准备好了! 在工具菜单中,你会发现相关的Cling动作,或者你可以通过查找动作调用它们。

粘贴工具

对于代码行,可以使用将当前行发送到 Cling 会话的意图:

执着意图

您可以选择多行,按Alt+Enter,然后将整个选择发送到 Cling。您也可以将整个文件加载到 Cling,或者直接在 Cling 终端中键入代码:
坚持在行动


有一些已知的限制值得一提:

  • 用户目前无法从 CLion 内部开始向 Cling 可执行文件添加额外参数,因此您无法真正更改 C++ 语言标准或其他选项。
  • 项目标志不会传递到 Cling 会话 ( CPP-25256 )。这可能会导致 Cling 不知道的一些包含路径出现问题。
  • Cling 会话在项目目录或主目录中启动(如果当前没有打开项目)。从不在项目根目录中的文件将当前行发送到 Cling 时,可能无法正确处理相对路径。

WSL 增强功能

您不再需要 WSL 发行版中的 SSH 服务器来在 CLion 中使用 WSL。WSL 流程现在使用专用的 WSL API 启动,这使得CLion 中的WSL 配置变得更加容易。

CLion 现在不仅支持从 Microsoft Store 安装的 WSL,还支持从自定义发行版安装的 WSL。IDE 在专用工具链设置页面的下拉列表中显示所有导入的 WSL 分发(该列表与wsl -l -v命令返回的列表相同)。

本地历史中的文本搜索

如果您的项目不受版本控制,您仍然可以免受任何不良更改(例如删除的文件)的影响。使用本地历史记录,您可以回滚到文件的任何过去状态,即使您的项目没有启用版本控制。它允许通过文件修订进行文本搜索,以便您可以更轻松地找到要回滚的点。

更多

  • 此版本解决了多个 IDE 冻结问题,特别是与复制粘贴活动相关的问题。
  • 添加了一些新的 MISRA 检查。
  • 从此 EAP 开始,可以在首选项/设置中的打开部分之间来回导航。为此,请使用窗口右上角的箭头。
  • 无论您如何调用 Show Diff 操作,初始文件和更改文件之间的差异现在始终显示在编辑器中。如果您发现在单独的窗口中跟踪更改更方便,您可以从编辑器中拖动所需的文件。如果这样做,IDE 会记住这一点,并将在单独的窗口中打开未来的差异。
  • 现在在 macOS 上启用屏幕阅读器模式可以更轻松地进行编码 - 现在看见代码完成的可用建议列表。

好了这就是今天的内容了,如果今天的文章未解决你的需求,可点击获取更多免费教程。不要忘了在评论与我们分享您的想法和建议,Clion正版授权在线订购最高立减上万元!低至797!还有多种授权方式供你选择。

====================================================

想要了解或购买Clion正版授权的朋友,欢迎

JetBrain技术交流群现已开通,QQ搜索群号“786598704即可加入


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP