Visual Studio CodeのC#フォーマッタ設定
· 6 min read
Visual Studio Code のC#フォーマッタの設定について解説します.
これまでは主にC#を使った開発は Visual Studio を使っていましたが、Visual Studio CodeでもC#のコードを書けるようにしたいです. そこで、Visual Studio CodeでのC#フォーマッタについて備忘録として残しておきます.ただ、きちんと調べたわけではなく、正確な情報とは言えませんので注意してください.
フォーマッタ
Visual Studio Code の拡張機能 C# に入っています. フォーマットしようとしたときに、標準のフォーマッタが指定されていないと表示されたら、以下の設定を追加します.
"[csharp]": {
"editor.defaultFormatter": "ms-dotnettools.csharp",
"editor.formatOnSave": true
},
editor.formatOnSave
を true
に設定することで保存時にフォーマッタが実行されるようにしています.
ちなみに、コマンドラインからフォーマッタを実行する dotnet-format
というツールもありますが、私が試したところ、あまり意図したフォーマットにならなかったり、ちょっと使いづらい印象でした.
設定
C#拡張機能にあるフォーマッタは .editorconfig
ファイルを参照してくれます.なので、設定は .editorconfig
ファイルに記述します.
基本設定
あらかじめ用意されている設定については C# 書式設定オプション を参照してください.以下は一例です.
[*.{cs,csx}]
# New Line Options
csharp_new_line_before_open_brace = none # "{"を新しい行に配置するか
csharp_new_line_before_else = false # "else"を新しい行に配置するか
csharp_new_line_before_catch = false # "catch"を新しい行に配置するか
csharp_new_line_before_finally = false # "finally"を新しい行に配置するか
csharp_new_line_before_members_in_object_initializers = true # オブジェクト初期化子のメンバーを別の行に配置するか
csharp_new_line_before_members_in_anonymous_types = true # 匿名型のメンバーを別の行に配置するか
csharp_new_line_between_query_expression_clauses = true # クエリ式の句の要素を別の行に配置するか
# Indentation Options
csharp_indent_block_contents = true # ブロックの内容をインデントするか
csharp_indent_braces = false # "{}"をインデントするか
csharp_indent_switch_labels = false # "switch" ラベルにインデントを付けるか
csharp_indent_case_contents = true # "switch" ケースにインデントを付けるか
csharp_indent_case_contents_when_block = false # "switch" ケースでのブロックをインデントするか
csharp_indent_labels = one_less_than_current # ラベルの配置位置
# Spacing Options
csharp_space_before_comma = false # コンマの前
csharp_space_after_comma = true # コンマの後
csharp_space_before_dot = false # ドットの前
csharp_space_after_dot = false # ドットの後
csharp_space_between_parentheses = false # "()"