Rust: как запретить автоформат определенному куску кода
Есть несколько частей кода, которые ужасно форматированы автоформатом (скриншоты ниже). Это просто нечитабельный для меня код. Как я могу отключить форматирование для определенной части кода (чтобы сохранить формат, который я установил)?
Ответы (1 шт):
Автор решения: Сергей
→ Ссылка
#[rustfmt::skip] позволяет пропустить «блок» кода при форматировании
Рассмотрим этот код:
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] над каждой функцией, чтобы rustfmt игнорировал их форматирование:
#[rustfmt::skip]
fn add(a: i32, b: i32) -> i32 { a + b }
#[rustfmt::skip]
fn sub(a: i32, b: i32) -> i32 { a - b }
P.s. Также удобным решением может быть создание общего модуля с #[rustfmt::skip] как в примере ниже:
#[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));
}
Данный ответ представляет собой перевод ответа на сходный вопрос на сайте stackoverflow.com

