IntelliJ Rust: 2022.2发布周期更新
目录
在这个发布周期中,我们启用了一种检测配置文件更改的新方法,以及一种重新加载项目模型的新方法。我们已经改进了性能并实现了各种类型推断改进。
![](http://m.13800138002.com/wp-content/uploads/2022/08/Blog_Featured_image_1280x600-1-3.png)
IntelliJ Rust现在突出显示过时或缺失的依赖项Cargo.toml
.该插件可以通过复制粘贴将JSON转换为结构。
还有许多其他特性和改进-要了解它们,请阅读下面的详细描述。
语言支持
项目模型重新加载
在v2022.2中,我们已经改进的IntelliJ Rust更新项目模型的方式。
插件现在检测配置文件的更改,即使它们没有保存到磁盘。这个变化应该使项目模型重新加载更具可预测性。
IntelliJ Rust现在还考虑到货物配置,工具链文件而且构建脚本.
在您更改了配置文件之后,您现在将看到浮动载货量变化按钮。单击按钮,IDE将加载更改以使项目正常工作。
![](http://m.13800138002.com/wp-content/uploads/2022/08/load-cargo-changes-2800x1123.png)
您可以更改项目模型重新加载的设置首选项/设置|构建、执行、部署|构建工具。
![](http://m.13800138002.com/wp-content/uploads/2022/08/load-changes-settings-2800x1061.png)
默认情况下,在构建脚本发生更改后重新加载项目选中复选框,则外部的变化选中“选项”。这意味着项目模型将仅在外部更改时自动重新加载(例如,当您从版本控制中获得更新的文件时)。对于IDE中所做的任何更改,都将提供载货量变化按钮,该按钮允许您手动加载更改。
如果您选择任何更改选项,项目模型将针对所有更改自动更新。
请注意,货物设置已移动到首选项/设置|构建、执行、部署|构建工具|货物为了与构建工具的其他设置保持一致。
宏调用的性能改进
我们停止执行一些不必要的缓存失效。因此,当您键入宏调用时,完成和高亮显示现在应该工作得更快。
类型推断改进
在这个发布周期中,我们已经实现了类型推断的各种修复和改进:
- 我们已经实现类型推断引擎中的非大小矫顽力。这可以修复类型不匹配之类的假阳性错误
框< >(与)
而且框<[与;4) >
. - 我们已经固定将闭包赋值给变量时对闭包参数类型的推断,赋值后推断参数类型。
- 的用法是固定的
?
具有试一试
特征。不稳定试一试
Trait被移动到核心::运维::try_trait::试一试
并将其关联的类型重命名。这已经解决了一些问题。例如,现在?
操作员为调查结果> <
. - 方法实现的类型参数的循环
迭代器
Trait已经被固定,现在可以正常工作了。 - 最近增加的不稳定
自毁
现在所有类型的Trait都是衍生的。 - 现在插件认为负
impl
当推断类型时。 - 由于常见类型推断的处理方式发生了变化,类型推断现在应该工作得更快了。
编译器错误检测
IntelliJ Rust现在检测更多编译器错误:
- 试图导入一个项目,然而
外面的箱子
已使用此名称导入(E0254). - 为外部板条箱选择的名称与已导入当前模块的另一个外部板条箱冲突(E0259).
- 项声明的名称与外部crate的名称冲突(E0260).
- 的
自我
关键字不能单独作为use声明中的最后一段出现(E0429). - 的
自我
Import在列表中出现多次(E0430). - 一个无效的
自我
进口(E0431). - 可见性仅限于不是当前项的祖先的模块(E0742).
另外,检测重复的定义已被改进.
支持#![recursion_limit]在名称解析
IntelliJ Rust现在采用#!(recursion_limit)
属性,它控制宏展开深度。在此之前,插件使用递归限制的默认值,即128步。但是一些宏需要更多的步骤,这个修复允许扩展它们。
如果不需要宏来完全展开,则可以调整宏展开的最大递归限制设置。
![](http://m.13800138002.com/wp-content/uploads/2022/08/macros-maximum1200.png)
代码的洞察力
检查Cargo.toml中的依赖关系
我们已经启用默认情况下,对依赖项进行两次检查Cargo.toml
:无效的板条箱版本而且新板条箱版本可用.
的无效的板条箱版本检查检测包含无效版本的依赖箱Cargo.toml
.
的新板条箱版本可用检查通知您有一个更新版本的板条箱可用。还有一个快速修复更新板条箱版本,可从检查弹出。按一下可以看到所有可用的快速修复程序⌥↩(Alt + Enter).
![](http://m.13800138002.com/wp-content/uploads/2022/08/cargo-inspection-2800x1165.png)
中可以控制巡检设置首选项/设置|编辑器|检查|生锈.在这里,您可以禁用检查,更改特定检查的严重级别(通过IDE中的图标显示),或者选择在编辑器中突出显示相关代码的方式。
![](http://m.13800138002.com/wp-content/uploads/2022/08/cargo-inspections-settings.png)
检查unused_must_use和clippy::double_must_use
我们现在有检查和快速修复:
- 的
unused_must_use
检测标记为类型的未使用结果的Lint# (must_use)
- 的
助手::double_must_use
检查的Lint# (must_use)
属性,而不提供返回已标记为类型的函数和方法的进一步信息# (must_use)
.
![](http://m.13800138002.com/wp-content/uploads/2022/08/unused_must_use.png)
通过复制粘贴将JSON转换为Rust类型
当复制JSON数据并将其粘贴到编辑器中时,IDE建议将其转换为结构类型。所有必要的结构字段标记都会自动生成和添加。
![](http://m.13800138002.com/wp-content/uploads/2022/08/json-to-struct.png)
我们要谢谢你Jakub贝拉尼克他在过去的几个版本中实现了json到结构的转换特性。
重命名宏中元变量的重构
的重命名重构现在作品宏中的元变量。
![](http://m.13800138002.com/wp-content/uploads/2022/08/refact_metavar.png)
突出显示字符串文本中的url
字符串文字中的url现在是突出显示当你将鼠标悬停在它们上时,你就可以在浏览器中打开它们。按一下打开链接⌘(Ctrl),并按下连结。
![](http://m.13800138002.com/wp-content/uploads/2022/08/links.png)
运行/调试
如果在输出控制台模拟终端选项启用时,正确的终端现在被用于运行选项卡。这个选项现在也适用于Windows。
![](http://m.13800138002.com/wp-content/uploads/2022/08/emulate-terminal-output-2800x1382.png)
您可以启用在输出控制台模拟终端选项中的运行配置设置。
![](http://m.13800138002.com/wp-content/uploads/2022/08/emuulate-terminal-settings-2800x1048.png)
___
像往常一样,非常感谢在这个发布周期中帮助我们的外部贡献者:
以上就是IntelliJ Rust插件的最新更新。告诉我们你对我们的新功能有什么看法!在这里写下评论,联系我们推特,或者在插件的问题中提交一个问题跟踪器.谢谢你!
Rust团队
西甲积分manbetx2.0
万博赌博官网站