🎃
rustfmtメモ [blessed.rsシリーズ4]
概要
こちらのリストにあるものを見て書いたメモの共有です。
内容はまとめておらず、順番もぐちゃぐちゃ。あくまでメモになります。
また、網羅的にメモしているわけではなく、自分が必要だと思ったもののみメモしているため、内容が偏っているかもしれません。
今回はrustfmtについてです。
rustfmtとは
Rustコードをスタイルガイドラインに従ってフォーマットするツール
github
contributing
コントリビュートしたいときはこちらを参照
使い方
インストールしていれば以下で実行
$ cargo fmt
インストール方法などは上記のリンクより
修正を行わないモード
デフォルトではcargo fmtで修正まで行うが、--checkをつけることで、修正を行わず、修正内容を教えてくれるようになる。
また、このときエラー扱いになるため、CIなどで使用する場合は--checkをつけるのがいいかもしれない
all
--allをつけることで以下のようになる。
Format all packages, and also their local path-based dependencies
しかし、詳しい範囲までは調べていない。
Config
rustfmt.tomlで設定できる
内容については上記を参照
Rust Style Guide
Rustスタイルガイドでは、デフォルトのRustスタイルを定義している。
rustfmtを無視したい場合
rustfmtを無視したい場合は#[rustfmt::skip]をつける
マクロや属性のrustfmtを防ぐためには、#[rustfmt::skip::macros(target_macro_name)]や#[rustfmt::skip::attributes(target_attribute_name)]を使用する
Discussion