6

#[rustfmt::skip]允许您在格式化时跳过代码“块”,但这需要放置skip每个{}而不是 Clang 样式on/off

考虑这段代码:

fn add(a : i32, b : i32) -> i32 { a + b }
fn sub(a : i32, b : i32) -> i32 { a - b }

rustfmt 会将其格式化为:

fn add(a: i32, b: i32) -> i32 {
    a + b
}
fn sub(a: i32, b: i32) -> i32 {
    a - b
}

一个需要两个#[rustfmt::skip]属性而不是一个on/off

单行函数有一个 rustfmt 选项,但此示例仅用于演示目的。我想控制该地区任何可能的 rustfmt 设置。

4

1 回答 1

15

您可以将不想格式化的功能放入模块中,用 标记整个模块#[rustfmt::skip],然后用 将项目拉入父模块use

#[rustfmt::skip]
mod unformatted {
    pub fn add(a : i32, b : i32) -> i32 { a + b }
    pub fn sub(a : i32, b : i32) -> i32 { a - b }
}

use unformatted::*;

fn main() {
    dbg!(add(2, 3));
}
于 2021-04-27T19:26:53.773 回答