![見出し画像](https://assets.st-note.com/production/uploads/images/136708573/rectangle_large_type_2_297be16a087048dca1f610f0e2708647.jpeg?width=800)
【Rust】VSCodeでフォーマッターを使う
rust-analyzerを使ったフォーマット機能について調べたので書きます。
前提
2024年4月時点
Windows11
VSCodeの設定:setings.json
利用するフォーマッタの指定と保存時に実行するようにします。
{
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true,
}
}
rust-analyzeの設定:rustfmt.toml
ルートの直下で「rustfmt --print-config default rustfmt.toml」と打つとデフォルト設定のファイルが生成されます。
以下は私が調べて分かる範囲で書き出したものです。
# 字下げにタブを、行揃えには空白を用いる
hard_tabs = false
# タブあたりのスペース数
tab_spaces = 2
# 改行スタイル
newline_style = "Auto"
# 幅設定
max_width = 100
use_small_heuristics = "Default"
## 以下はmax_widthに対する割合(%)
fn_call_width = 60
attr_fn_like_width = 70
struct_lit_width = 18
struct_variant_width = 35
array_width = 60
chain_width = 60
single_line_if_else_max_width = 50
single_line_let_else_max_width = 50
# importとexternのcrate文をアルファベット順に並べ替える
reorder_imports = true
# グループ内のモジュール文をアルファベット順に並べ替える
reorder_modules = true
# 入れ子になった括弧を取り除く
remove_nested_parens = true
# 配列要素を折り返す閾値
short_array_element_width_threshold = 10
# 関数の引数に対するレイアウト
fn_params_layout = "Tall"
参照
この記事が気に入ったらサポートをしてみませんか?