🤖
[VSCode] C#で`{`の位置をいい感じにする
C#では {
[1] の前で改行するのが、伝統的だと聞いた。Shift + Alt + F
でフォーマットするとこちらが適用される[2]。でも他言語から来た人の中には {
に一行使うのはもったいないと感じる人もいるはず。
// as-is
public class MyClass
{
void Start()
{
Debug.Log("started");
}
}
// to-be
public class MyClass {
void Start() {
Debug.Log("started");
}
}
修正方法を調べると omnisharp.json
を編集しろという情報が出てくる[3]。でもたぶんこの方法は古い(引用元)。
If you don’t want to take advantage of the great Language Server features, you can revert back to using OmniSharp by going to the Extension settings and setting
dotnet.server.useOmnisharp
to true.
以下によれば .editorconfig を利用する方法が望ましいとのこと。今回はこちらを試す。
まずは EditorConfig for VS Code をインストール。そして explore の適当な箇所を右クリックして Generate .editorconfig
を実行。
生成された .editorconfig に以下を追記する[4]。
csharp_new_line_before_open_brace = never
csharp_new_line_before_else = false
csharp_new_line_before_catch = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_object_initializers = false
csharp_new_line_before_members_in_anonymous_types = false
csharp_new_line_between_query_expression_clauses = false
再度フォーマットを実行すると {
前の改行がなくなっているはず。
-
curly brackets とか braces とか波括弧とか呼び方が色々ありすぎるから、この記事では記号で書いておく ↩︎
-
例えば stack overflow ↩︎
-
この GitHub issue を参考にした ↩︎
Discussion