簡體   English   中英

如何關閉代碼區域而不是單個項目的 rustfmt?

[英]How can I switch off rustfmt for a region of code instead of a single item?

#[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_skipped 代碼塊放入一個文件中,然后將文件名記錄在ignore中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2025 STACKOOM.COM