如何为代码区域而不是单个项目关闭rustfmt?

#[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 设置。

回答

您可以将不想格式化的函数放在一个模块中,用 标记整个模块#[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));
}


以上是如何为代码区域而不是单个项目关闭rustfmt?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>