10

让 Rustfmt 跳过一个项目的官方方法是#[rustfmt::skip],但是我希望它跳过整个文件。我试过这个:

#![rustfmt::skip]

但是你得到这个错误

错误[E0658]:非内置内部属性不稳定

这是该错误的问题。

有解决方法吗?我不感兴趣的解决方案:

  • 使用不稳定的 Rust
  • 告诉 Rustfmt 不要使用文件外部的东西来处理文件(rustfmt.toml例如)
4

1 回答 1

10

目前 Rustfmt 会遍历 mod 树本身,因此您可以将属性放在声明要忽略的模块的文件上。

#[rustfmt::skip]
mod dont_format_this_file;

然后dont_format_this_file.rs会被跳过。

但是,Rustfmt 2改变了它的行为,使它遍历 mod 树,所以你必须dont_format_this_file.rs直接指定。在这种情况下,它似乎很可能会找到mod dont_format_this_file;声明,因此当 Rustfmt 2 发布时这可能不起作用。

于 2019-12-09T11:22:57.320 回答