CLion 最新变化

CLion 2020.2 添加了 Makefile 项目并增强了 CMake 支持,能够涵盖各种 C++ 项目。 它能够更好地遵守 C++20 标准。 代码分析现在更加准确,且能够捕获更多严重错误,如悬空指针。 单元测试、代码覆盖率、嵌入式开发以及其他方面也得到显著增强。

项目模型

Makefile 项目支持

正在开发基于 Makefile 的项目? 从 CLion 的智能功能中获益——CLion 现在提供开箱即用的 Makefile 项目支持。 将包含顶级 Makefile 的文件夹作为项目打开,或在 Open 对话框中直接将 CLion 指向 Makefile。 IDE 会运行 make(使用 --just-print 选项以避免运行实际的构建),解析 make 命令的输出,并加载项目。 阅读这篇博文,了解详细信息、已知限制以及我们用于测试这一方法的项目列表。

简要导览

增强的 CMake 用户体验

增强了 CMake 用户体验

Build, Execution, Deployment | CMake 下的 CMake 配置文件设置采用新设计的 UI,我们还为这些设置添加了实用提示。 而且,现在可以在 Find Action 中使用适用于 CMake 项目的多个操作,如果您定期使用,可为任何一个或每个操作分配快捷键。

  • CMake 设置
  • 停止 CMake 项目重载
  • 打开 CMakeCache 文件

CMake 升级

CLion 现在捆绑 CMake 3.17,并添加了对其两个最新功能的初始支持:

  1. Ninja Multi-Config:您现在可以传递 -G "Ninja Multi-Config" 生成器选项,以便为每个配置生成 CLion 构建文件(请注意,CLion 暂时仍然只会为 CMake 配置文件使用一个选定的配置)。
  2. CMake 预编译头:使用 target_precompile_headers 命令将头文件添加到目标的 PRECOMPILE_HEADERS 和/或 INTERFACE_PRECOMPILE_HEADERS 属性。 CLion 会正确地处理这种预编译头。

简要导览

构建项目

重新编译单个文件

重新编译单个文件 操作通过快速检查本地变更来帮助您加快开发过程,而且现在可用于 Ninja 和 CMake 中使用的其他生成器并在 CLion 中受到支持。

得益于重要的错误修复,CLion 现在可以并行构建多个独立的项目,不会从一开始就互相阻碍。

代码分析

CLion 2020.2 中的代码分析得到大幅更新,提高了许多检查的准确性并能够涵盖更多用例。 此版本还继续优化了数据流分析,此功能之前在基于 Clangd 的引擎基础上进行了重新实现。

悬空指针

悬空指针

指向无效数据的指针会导致运行期问题。 典型的用例为 double-freeuse-after-free 组合。 如果这种悬空指针出现在局部范围内,CLion 现在会捕获它们,不会涉及指针算法,且宏不会阻止 CLion 执行分析。

Simplify

Simplify

Simplify 代码检查现在更加准确且会涵盖更多用例。 仅适用于以下类型的语句:

  • condition == true.
  • condition1? true : condition2.
  • if(condition1) return true; return condition2;
  • 用于相同分支的语句。

您可以在 Settings | Editor | Inspections | C/C++ | General | Simplifiable 语句中单独配置这些用例。

Loop condition is never updated

Loop condition is never updated

此 CLion 检查会检测循环中未更新循环条件的情况。 这与 Clang-Tidy 的 clang-tidy:bugprone-infinite-loop 相似,但适用于包含出口点的循环,并且能够处理包含 lambda 或引用的用例。

Unused code

Unused code

Unused code 检查已进行大幅更新。 在其他众多变更中,它现在适用于 using结构进行全局和局部定义的类型别名。

Inspection 微件和 Problems 视图

Inspection 微件和 Problems 视图

最后但同样重要的是,我们引入了新的 Inspection 微件。 它会显示当前文件中警告和错误的数量,并让您能够轻松地在其中导航。 您还可以配置高亮显示级别(就像之前配置 Hector 图标一样)。

如果您点击 Inspection 微件,Problems View 工具窗口就会打开 (View | Tool Window | Problems)。 它会显示当前文件中警告和错误的列表,帮助您导航到代码中出现问题的位置,并让您能够通过调用 Alt+Enter 快捷键直接从工具窗口修复这些问题。

C++20

今年,社区正式向 C++ 开发者提供新的语言标准,CLion 已支持其多个功能。 CLion 2020.2 中的语言引擎通常在 C++20 代码上更稳定。

C++20 关键字

C++20 关键字

在 CLion 2020.2 中进行代码高亮显示和补全时支持新增加的关键字:

  • char8_t
  • constevalconstinit
  • co_awaitco_returnco_yield
指定的初始值设定项

指定的初始值设定项

指定的初始值设定项中的代码补全现在适用于基类中的字段。

explicit(bool)

explicit(bool)

C++20 explicit(bool) 结构现在会正确地高亮显示。 它还为条件参数提供了名称提示,并在导航和重构中得到支持。

基于范围且包含初始值设定项的 for 循环

基于范围且包含初始值设定项的 for 循环

现在支持基于范围且包含 init 语句的 for 循环。 包括一些重构,例如针对循环中变量的 Rename

约束函数的结果

约束函数的结果

为使用概念 (Concept) 的代码添加了新的检查。 如果已经将受约束的函数调用的结果分配给声明为 auto 的局部变量,新检查会建议约束这些局部变量。

单元测试

Doctest 支持

Doctest 支持

CLion 2020.2 添加了对 C++ 的另一个单头框架 (Doctest) 的支持。 Doctest 在社区中深受喜爱,现在得到 CLion 支持,提供自动测试检测、运行/调试配置创建和用于显示测试结果的便捷内置测试运行程序。 阅读这篇专属博文,了解如何针对发布配置一组测试。
Catch2 模板测试

Catch2 模板测试

现在可以像对待其他测试类型一样,对 Catch2 中三种类型的测试进行识别和处理。

在 Google Test 中跳过测试

在 Google Test 中跳过测试

Google Test 中的 GTEST_SKIP() 宏能够在运行时跳过测试。 CLion 现已支持该宏。

代码覆盖率

代码覆盖率

CLion 2020.2 在您点击 Run with Coverage 按钮时会自动添加覆盖标记,提升了用户体验。 现在,如果您当前选定的 CMake 配置文件不包含用于覆盖的编译器选项,CLion 就会搜索带有通过 CMAKE_CXX_FLAGSCMAKE_C_FLAGS 传递的覆盖标记的 CMake 配置文件(如果未找到,就会创建一个)。

嵌入式开发:PlatformIO 插件

对于嵌入式开发,我们更新了 PlatformIO 插件,进行了显著改进:

platformio.ini 文件中的高亮显示

platformio.ini 文件中的高亮显示

PlatformIO 项目配置文件现在会正确地高亮显示,以便您更轻松地阅读和更新这些文件。

新运行/调试配置

新运行/调试配置

当您从 CLion 的 New Project 向导中创建新项目时,会自动添加许多实用的运行/调试配置。 例如,_PROGRAM_MONITOR_CLEAN_TEST 等。

PlatformIO 配置的 CMake 配置文件

PlatformIO 配置的 CMake 配置文件

CLion 现在会为 PlatformIO CMake 项目中的 CMAKE_CONFIGURATION_TYPES 条目自动创建 CMake 配置文件。

VCS

WSL 2 中安装的 Git

WSL 2 中安装的 Git

如果您使用 WSL 2 工具链开发并使用 WSL 2 上的 Git,CLion 现在将让您能够轻松地根据项目位置在 Git 可执行文件之间切换。 对于从 WSL 2(通过 \\wsl$ 路径)打开的项目,它会自动检测 WSL 2 中的 Git 可执行文件并切换全部 Git 相关功能以使用该文件。

GitHub 拉取请求

GitHub 拉取请求

CLion 2020.2 为 GitHub Pull Request 引入了一个更开阔的新视图。 它会显示特定 Pull Request 的全部详细信息(如消息、分支名称、作者、被指派者、更改的文件、提交和时间线)和预提交检查的结果。 它还会帮助执行许多操作,如开始审查、请求审查、附加评论或在 IDE 内合并 Pull Request。

了解详情

Go to Declaration or Usages

Go to Declaration or Usages

Go to Declaration or Usages 操作 (Ctrl+Click / Ctrl+B) 根据用例和 IDE 设置不同会表现不同:

  • 在符号用法上调用操作时,它会导航到该用法的声明。
  • 在声明上调用操作时,它会显示该声明用法的列表。
  • 在定义上调用操作时,它会显示相关声明或用法。 这取决于 Settings | Editor | General | Go to Declaration or Usages 中的设置。

性能改进

已解决一些 UI 冻结和速度降低问题。 为了避免编辑器性能下降,在宏定义内按 Enter 时,CLion 现在会插入反斜杠。 很有可能继续在新行上使用宏定义,这样就会防止 IDE 重复地重解析活动。

Rust 插件更新

Rust 插件更新

在 0.3 版本的插件中,将默认启用目前仍处于实验阶段的新宏扩展引擎。 此引擎会处理宏生成的 impl 块和模块声明,为代码的全部内容提供代码洞察,包括 tokioasync-std 等 crate。 在这篇博客文章中了解更多。

另一个主要更新是为 Rust 的 MSVC 工具链引入了初始调试器支持。 现在,您可以将 CLion 中捆绑的基于 LLDB 的调试器用于 Visual Studio 工具链,以便使用 Rust 的 MSVC 调试在 Windows 上构建的 Rust 代码。

其他增强包括新重构(Introduce Constant 与适用于文件和顶级项的 Move)、对 or_patterns 的初始支持、println! 等宏内格式文字中的错误突出显示、编辑器内文档呈现、链式方法调用的嵌入提示以及对 IntelliJ IDEA 中调试器工作流的改进。

了解详情

其他改进

  1. 由 JetBrains 维护、适用于 Microsoft Visual Studio C++ 工具链、基于 LLDB 的调试器得到大幅改进。 最主要的是:停止时调试对话不再冻结,线程现在根据其入口点函数自动命名,调试器的性能获得了显著改进,许多冻结和崩溃得到修复。
  2. CLion 2020.2 已捆绑更新的 GDB STL 调试器。
  3. 从现在开始,基于 Clangd 的引擎将是 CLion 中的默认语言引擎,且关闭它的选项已被移除。 Settings | Languages & Frameworks | C/C++ | Clangd 现在包含所用 LLVM Clang 修订版的信息,这样您就会了解在新版本中 C++ 支持和内置 Clang-Tidy 检查的相关信息。

CLion 2020.1 新功能

嵌入式开发

IAR 工具链

IAR 工具链

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

注意以下几点:

  • 需要 MinGW。
  • 有关在 IAR Embedded Workbench 上使用 CMake 的一些技巧
PlatformIO

PlatformIO

PlatformIO 是一个正在迅速普及的新生成生态系统。 要在您的嵌入式项目中利用它,请使用新的 PlatformIO for CLion 插件,这会:

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

还有更多! 查看官方文档以获取详细信息。

CUDA 支持

代码解析和代码辅助

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

让我们从 GitHub 克隆 ClaraGenomicsAnalysis 项目,并检查一下 CLion 在 CUDA 支持方面的功能。

New Project 向导

New Project 向导

CLion 中的 New Project 向导已添加一个新选项,可用于创建 CUDA 项目 - 库或可执行文件。 选择此选项时,它会生成示例 CMakeLists.txt 和 main.cu 文件。

文件扩展名和 CMake 目标

文件扩展名和 CMake 目标

新支持的 CUDA 文件扩展名 .cu.cuh 可以在新的 C/C++ 文件创建对话框中使用。 此对话框中要更新的可能目标列表包含一般的 CMake 和特定于 CUDA 的目标(通过 cuda_add_executablecuda_add_library 命令创建)。

了解详情

在 Windows 上开发

Clang-cl

Clang-cl

在 Windows 上,现在可以在 CLion 中使用 clang-cl,支持 8.0 及更高版本。

您可以从 LLVM 网站安装,或将其与 Visual Studio 工具一起安装。 完成后,请在 CLion 中选择 Visual Studio 工具链,然后指向工具链设置中的 clang-cl.exe

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

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

JetBrains 为 Visual Studio C++ 工具链开发的 LLDB 调试器现在是此工具链的默认调试器。 因此,您可以立即使用它!

请注意,应在 Settings | Build, Execution, Deployment | Debugger Data Views | Enable NatVis renderers for LLDB 中明确启用对原生可视化工具的捆绑支持。

运行和调试配置

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

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

Remote GDB ServerEmbedded GDB Server 配置现在可用于自定义目标。 先前仅适用于 CMake 目标的这些配置,能够让您从本地计算机上运行的 CLion 实例中调试远程主机或微控制器上的应用程序。

如果您已创建这些配置,CLion 2020.1 会在项目文件夹的 projectFilesBackup 目录中存储之前的 Run/Debug Configuration 设置,并通知您这一情况。

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

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

您现在可以在 CMake、自定义构建和 Gradle Native 应用程序配置的 Program Arguments 和 Working Directory 字段中使用路径变量和宏。 宏可以帮助您获得以下对象的值:

  • 当前 CMake 运行配置的构建目录。
  • 当前 CMake 运行配置的生成目录。
  • 项目文件目录。
  • 等等。

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

路径变量可以定义项目中广泛使用但位于项目目录以外的库的路径。

输入重定向

输入重定向

如果需要将输入从文件重定向至应用程序的 stdin,您现在可以执行该操作。 在配置中使用名为 Redirect input from 的新字段。 输入:

  • 相对路径(CLion 会预置工作目录路径 )。
  • 绝对路径(将针对运程配置重映射)。
  • 或 macros(如 FilePrompt)。

Clang 工具

Clangd 上的 DFA

Clangd 上的 DFA

CLion 的数据流分析 (DFA) 执行编译器通常不会为您执行的任务:它会分析数据如何在您的代码中流动并基于结果检测潜在问题。 它可以捕捉始终为 false/true 的条件、无限循环、缺失的返回声明、无限递归,等等。 在 2020.1 中,DFA 已迁移到基于 Clangd 的语言引擎,在性能上变得更加准确、精简。 这项工作仍在进行,不过已经获得一些好结果!

仅 Clangd 的补全

仅 Clangd 的补全

默认会启用一个新模式,其中补全完全由基于 Clangd 的语言引擎提供。 此模式解决了在混合来自多个引擎的代码补全结果时出现的优先级和排序问题。 此行为由 Settings | Languages & Frameworks | C/C++ | Clangd 中的 Code Completion 设置控制。

几十种修复和功能增强使这种新模式更准确和强大。

了解详情

ClangFormat

ClangFormat

现在,在您首次打开项目根中包含 .clang-format 配置文件的项目时,CLion 会检测到它并自动切换到 ClangFormat。

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

Clang-Tidy

Clang-Tidy

在项目中检测到 .clang-tidy 配置文件时,CLion 现在会自动停止为 Clang-Tidy 使用 IDE 设置。 此行为由 Settings | Editor | Inspections | C/C++ | General | Clang-Tidy 中的 Prefer .clang-tidy files over IDE settings 控制。

格式化程序和代码折叠

新命名设置

新命名设置

Struct 成员字段和类成员字段现在具有单独的命名设置。 您可以在 Settings | Editor | Code Style | C/C++ | Naming Convention 中查看这些设置。

代码折叠

代码折叠

可以在 CLion 中使用 #pragma region#pragma endregion 进行代码折叠。

重构更新

重构更新

调用 Change Signature 重构 (Ctrl+F6) 时,CLion 会更新函数的所有用法。 Change Signature 对话框中的新 Default value 字段让您能够指定要用于所有用法的参数的值。 留空可以像以前一样使用默认值类型。

相同的逻辑和新 Default value 字段适用于 Create Parameter From Usage 快速修复和 Add Parameter to Constructor 意图。

编辑器

快速文档

快速文档

快速文档现在会在鼠标悬停时出现,快速文档是一个万能工具,可以预览文档并获取函数签名、推理类型和宏替换的相关信息。

它可以由 Settings | Editor | Code Editing 中的设置 Show quick documentation on mouse move 控制。

JetBrains Mono 和 IntelliJ Light

JetBrains Mono 和 IntelliJ Light

编辑器中的默认字体已改为 JetBrains Mono,这是一种由 JetBrains 创建的新开源字体。 它专门设计用于使代码读取更容易。

新的默认浅色主题 IntelliJ Light 现在成为所有不同操作系统中的标准主题。 如果需要,您可以使用 View | Quick Switch Scheme | Theme 选择非默认主题。

拆分的终端会话

拆分终端会话

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

版本控制

Commit 工具窗口和 Commit 对话框

新 Commit 工具窗口

更新的工具窗口可以为修改的文件和差异列表提供更大的空间。 在新窗口中,您还可以将就绪的更改添加到提交,迭代编写提交信息,以及选择暂存更改对应的提交。

默认会为新用户启用新 UI;现有用户可以在 Settings | Version Control | Commit 中切换到新 UI。

Interactively Rebase from Here

更新的真正交互式对话框让您能够执行以下操作:

  • 选择您要对分支中的每个提交执行的操作。
  • 查看显示已应用的操作的图表。
  • 查看提交详细信息。
  • 查看差异,并根据需要检查或重置变更。

从 IDE 安装 Git

Version Control 工具窗口现在称为 Git 工具窗口或者 Subversion/Mercurial/Perforce(如果您使用其中任何一个而不是 Git)。

您无需再手动预装 Git! 在您使用 Git 打开项目或从 VCS 导入项目时,如果您的计算机上没有 Git,CLion 将为您自动下载并安装 Git。

Rust 插件更新

Rust 插件更新

借助对 LLDB 支持的改进,IntelliJ Rust 现在可以正确地渲染枚举和基元类型,并在调用堆栈中显示混乱的函数名称。

插件中的另一个主要更新是 REPL 集成。 从 Tools | Rust REPL 调用控制台并将它用于原型设计和逐行代码检查。 该集成提供语法高亮显示和代码补全,以及一些方便的控制台操作:命令历史记录、自动换行、快速滚动到结尾,等等。

在语言支持方面,IntelliJ Rust 现在可以处理类型别名的 impl 块。 考虑到性能,我们仅为包含有限数量别名的类型启用此功能。

其他功能增强包括高亮显示未使用的局部变量、cfg 特性支持中的修复和新的 Lift return 检查。

其他改进

  • 所有远程配置现在都能从常用和统一的 SSH 配置 UI 中受益。 无论新的 SSH 配置源自哪里(远程工具链设置或远程 GDB 服务器配置),在 Settings | Tools | SSH Configurations 中都会有条目。
  • 如果您只想关注源代码,则可以选择新的 Zen 模式,它将免打扰模式全屏模式结合在一起。 要启用此模式,请使用 View | Appearance | Enter Zen Mode

CLion 2019.3 新功能

更好的 IDE 性能

此版本的 CLion 以质量为导向,整体进行了大量的性能改进。 主要的增强涉及代码补全、Rename 重构、对构建/更新符号步骤的优化以及消除 UI 冻结。

了解详情

基于 Clangd 的代码补全

Clangd 现在已添加到 CLion 中的代码补全提供程序列表,它可以显著加快首批结果在许多项目中显示的速度。 查看我们收集的详细性能指标

重构

更快速的 Rename 重构

CLion 中的 Rename 重构十分强大,因为它不仅会重命名代码用例,还会重命名字符串文字和注释中的用例。 如果您仍然只想要重命名代码用例,现在可以更快速地执行这项操作,因为它会要求您在实际搜索之前作决定。 (要使用此功能,请关闭Settings | Editor | General | Refactorings | Enable in-place mode。)

CMake 中的 Ninja 和其他生成器

Ninja 生成器

对新 CMake File API 的支持使 CLion 2019.3 能够使用多个 CMake 生成器(需要 CMake 3.15 或更高版本)。 之前,仅支持 Makefiles,现在用户可以选择 Ninja、Xcode、Visual Studio 等。

在远程模式下并借助 WSL,此功能适用于所有平台。

了解详情

CMake 默认值

CMake 默认值

要简化新 CLion 项目的配置流程,您现在可以配置一个或多个默认的 CMake 配置文件,它们可用于您的所有新项目。 使用 File | Other Settings | Settings for New Projects…

其他 CMake 支持改进包括:

  • 现在可以重新加载有效的 CMake 配置,即使其他配置会失败。
  • CLion 2019.3 中捆绑了 CMake 3.15。
  • 如果您的编译器不支持 -fpch-preprocess 标志,您的项目在 CLion 2019.3 中仍会加载成功。在此博文中查看详细信息。

调试器

远程 gdb

远程 GDB 服务器

如果您想要通过本地运行的 CLion 调试在远程计算机上的可执行对象,现在可以使用 Remote GDB Server 配置。 CLion 会加载可执行对象并在 gdbserver 下启动程序,所以无需再手动执行操作。

了解详情

lldb_printers

LLDB 9 以及更好的调试器

在 CLion 2019.3 中,适用于 macOS 和 Linux 的捆绑 LLDB 已更新为 v9.0。此外,在捆绑的 LLDB 调试器中还进行了大幅度清理,解决了大量的相关问题。

了解如何在 macOS 和 Linux 上处理 libc++ 和 libstdcxx

lldbinit

从项目根中读取 .gdbinit/.lldbinit

如果想要自定义特定项目上的 GDB/LLDB 调试器行为,您现在可以在 CLion 中执行操作,因为它支持从项目根目录读取设置文件。

请注意,要启用此行为,您必须在自己的主文件中明确允许。 查看如何为 LLDBGDB 执行此操作。

C++20 概念

基于 Clangd 的代码补全

Concept (概念) 现在无疑是 C++20 支持的最大功能之一。 通过与 Clang 中 Concept (概念)支持的作者合作,我们已将 Concept 引入 CLion 2019.3。此支持不仅涵盖代码解析和高亮显示(通过基于 Clangd 的语言引擎完成),还包括:

  • Unused Concept 检查。
  • 包括对类型补全的代码补全受限于 std::is_base_of<MyBase, T>std::is_same<Other, T>
  • Rename 重构。
  • Go to Definition 和 Find Usages。

了解详情

代码分析

虚拟调用

从构造函数/析构函数调用的虚拟函数

为了防止虚拟函数访问尚未初始化或已被毁坏的资源,CLion 现在提供一种新检查,能够检测从构造函数或析构函数调用的虚拟函数

Doxygen 中的拼写

拼写检查工具

拼写检查工具对于确保代码准确且易读十分重要。 CLion 为 C/C++ 代码使用此工具已有很长一段时间了。 在 v2019.3 中,我们在 CMake 和 Doxygen 注释中启用了此功能。

代码覆盖率

覆盖率

如果您曾经问过“在配置运行期间是否已执行此语句?”这个问题,这意味着您想利用语句覆盖率来衡量您的代码。 CLion 2019.3 通过与 llvm-cov/gcov 工具的集成实现了这一功能。

您可以将它用于单元测试运行或常规配置运行。 可以在 Coverage 工具窗口中或通过编辑器左间距中的颜色指示查看结果。

了解详情

编辑器

Go to Header/Source 操作

Go to Header/Source 操作

添加了一个用于在头文件/源文件之间进行切换的新操作。 与 Go to Related Symbol 相比,可以更准确快速地处理许多 C/C++ case。

如果在 500 毫秒内识别出要导航到的多个选项,CLion 会显示一个互动式弹出窗口,其中会添加新条目,您可以选择要导航到哪个条目。

还有一个内置的机制,用于将 Go to Related Symbol 的快捷键重映射到此新操作(如果您希望这么做)。

了解详情

Microsoft

Microsoft 格式化和命名规则

在 CLion 中,您可以配置一组格式化选项和命名约定规则。 或者,您也可以从其中一个预定义样式继承这些设置。 在 CLion 2019.3 中,我们已将 Microsoft 的预定义格式化和命名样式添加到列表中。

WSL2

WSL2

适用于 Linux 的 Windows 子系统提供了一种便捷的方法来帮助在适用于 Linux 目标平台的 Windows 上进行开发。 CLion 原生支持 WSL 环境,现在还支持 WSL v2。 对于 WSL v1 和 WSL v2,CLion 中的配置流程完全相同!

了解详情

Rust 插件更新

Rust

IntelliJ Rust 的一个最大的更新是初步支持 cfg 特性。 现在,有条件禁用的块会灰显,并从解析和代码分析中排除。 支持的 cfg 选项包括 unixwindowstarget_os

适用于未解析符号的常用快速修复 Auto-import 现在会在您调用 Implement membersSpecify type explicitlyAdd remaining patterns 和其他代码生成操作时自动执行。

其他变更包括用于 Rust 代码的代码覆盖率(此功能已在多个版本中作为插件的一部分提供)、用于类型提示的便捷交互式嵌入和 include! 宏支持。

其他变更

  • VCS 支持:已重新设计 Clone 对话框 (VCS | Get from Version control)。 您现在可以从对话框登录,或者如果您已登录,IDE 会立即预览按帐户或组织分组的所有存储库的列表。
  • 已添加一个可使滚动条更清晰显示的新选项 - Settings | Appearance & Behavior | Appearance | Use contrast scrollbars
  • 在更新的 JetBrains Runtime 中已解决了大量的 UI 问题。