如何自动修复 Rust 中未使用的导入?

How can I fix unused imports in Rust automatically?

有什么方法可以自动修复 Rust 中仅未使用的导入吗?我已经看到 cargo fix,它确实有效,但它也进行了一大堆其他修复。有什么方法可以告诉 cargo fix 只修复未使用的导入(最好是在指定的文件中)而不是其他任何东西?

附带问题:有没有办法让 IntelliJ 做到这一点?通常的快捷方式 (Cmd+Option+O) 在其他语言中也适用,但对于 Rust,它只是重新排序导入。

个别 lints 目前只能通过源代码中的属性进行配置。无法通过命令行工具告诉 cargo checkcargo fix 忽略某些 lint 规则。

根据我使用 JetBrains 工具的经验,他们不太可能在幕后使用 cargo fix。他们已经构建了自己的 Rust 工具来解析和分析代码,这就是该功能的用武之地。

我建议向 JetBrains 提交功能请求。

根据 this pull request, JetBrains' Rust plugin should be able to remove unused imports already but it is not enabled by default. According to this comment,开发团队似乎需要等到 org.rust.macros.proc(目前是默认禁用的实验性功能)默认启用。