Visual Studio for Mac でのカスタム EditorConfig ファイルの作成と編集

重要

Visual Studio for Mac は、Microsoft の モダン ライフサイクル ポリシーに従って、2024 年 8 月 31 日に廃止される予定です。 引き続き Visual Studio for Mac を使用できますが、VS Code 用の新しい C# 開発キット拡張機能のプレビュー バージョンなど、Mac 上の開発者向けの他のいくつかのオプションがあります。

サポートタイムラインと代替方法の詳細をご確認ください

Visual Studio for Mac では、EditorConfig ファイルをプロジェクトまたはソリューションに追加して、そのコードベースを使用するすべてのユーザーに一貫したコーディング スタイルを使用させることができます。 EditorConfig ファイルで宣言された設定は、Visual Studio for Mac テキスト エディターのグローバルな設定より優先されます。 プロジェクトまたはコードベース内で EditorConfig ファイルを使用すると、プロジェクトのコード記述スタイル、優先設定、警告を設定できます。 このファイルはコードベースの一部であるため、すべてのユーザーが使用している IDE またはコード エディターに関わらず、より容易にプロジェクトのコーディング方法に従うことができます。

EditorConfig ファイルは、Visual Studio など、さまざまな IDE やコード エディターでサポートされています。

サポートされる設定

Visual Studio for Mac のエディターは、EditorConfig プロパティの次のコア セットをサポートしています。

  • indent_style
  • indent_size
  • tab_width
  • end_of_line
  • charset
  • trim_trailing_whitespace
  • insert_final_newline
  • root

EditorConfig は、C# のコーディング規則もサポートしています。

EditorConfig ファイルをプロジェクトに追加する

新しい EditorConfig ファイルを追加する

  1. Visual Studio for Mac でプロジェクトを開きます。 EditorConfig ファイルを追加するソリューションまたはプロジェクト ノードのいずれかを選択します。 ソリューション ディレクトリにファイルを追加すると、ソリューション内のすべてのプロジェクトに .editorconfig の設定が適用されます。

  2. ノードを右クリックして [追加] > [新しいファイル] を選び、[新しいファイル] ダイアログを開きます。

    Content menu items

  3. [その他] > [空のテキスト ファイル] を選び、.editorconfig という [名前] を付けます。 [新規作成] を押してファイルを作成し、エディターで開きます。

    New file dialog

    項目をソリューション レベルで追加すると、項目が [ソリューション項目] フォルダーに自動的に作成および追加されます。

    Solution item displayed in Solution Window

  4. ファイル を編集します。 たとえば次のような点です。

    # This file is the top-most EditorConfig file
    root = true
    
    # All Files
    [*]
    indent_style = space
    indent_size = 8
    insert_final_newline = false
    trim_trailing_whitespace = false
    
    [*.cs]
    csharp_new_line_before_open_brace = none
    
  5. .editorconfig ファイルの設定は、ユーザーが記述するすべての新しいコードに適用されますが、既存のコードを新しい設定にするには、それを再フォーマットする必要があります。 既存のソース ファイルに .editorconfig ファイルの設定を反映させるには、ファイルを開き、メニュー バーから [編集] > [形式] > [ドキュメントのフォーマット] を選びます。

    Format Document menu item

既存の EditorConfig ファイルを追加する

.editorconfig ファイルが既に含まれているプロジェクトかソリューションを使用している場合、設定の適用に必要な作業はありません。 新しいコード行はすべて、EditorConfig の設定に従って書式設定されます。

プロジェクトの既存の .editorconfig ファイルを再利用すると便利な場合があります。 既存のファイルを追加するには、次を実行します。

  1. それを追加するフォルダーを右クリックし、[追加] > [ファイルの追加] を選びます。

  2. 必要なファイルのディレクトリに移動します。

  3. macOS では、(.editorconfig などの) . で始まるファイルは隠しファイルであるため、Command + Shift + . キーを押して .editorconfig ファイルを表示します。

  4. .editorconfig ファイルを選択し、[開く] をクリックします。

    adding a new file window

  5. 次のダイアログが表示されたら、[ファイルをディレクトリにコピーする] オプションを選択し、[OK] を選択します。

    Add file to folder dialog options

.editorconfig の設定を反映する

コードベースに EditorConfig ファイルを追加したら、追加したすべてのコードは、指定した設定どおりに自動的にフォーマットされます。 コードベースをフォーマットしない限り、既存のコードには、設定は自動的には反映されません。

.editorconfig ファイルの設定を反映させるには、ソリューション ノードを選択し、メニュー バーから [編集] > [形式] > [ドキュメントのフォーマット] を選びます。

Format document from the menu bar

EditorConfig ファイルを編集する

EditorConfig ファイルでは、単純なファイル レイアウトを利用し、設定を指定します。前の例を利用して説明すると下のようになります。

# This file is the top-most EditorConfig file
root = true

# All Files
[*]
indent_style = space
indent_size = 4
insert_final_newline = false
trim_trailing_whitespace = false

[*.cs]
csharp_new_line_before_open_brace = none

EditorConfig 設定のオーバーライド」セクションに説明されているように、roottrue に設定すると、このファイルがコードベースの一番上のファイルとしてフラグを設定され、プロジェクトでそれより上の .editorconfig ファイルは無視されます。

各セクションには角括弧 ([ ]) が付き、後続のプロパティが付属するファイルの型に関する情報が指定されます。

上の例では、一部の設定がプロジェクトのすべてのファイルに適用されます。その他の設定は C# ファイルにのみ追加されます。 下のスクリーンショットでは、.editorconfig 設定の適用前後を確認できます。

以前:

Before editorconfig settings have been applied

以後:

after editorconfig settings have been applied

利用できる EditorConfig 設定に関する詳細については、「EditorConfig の .NET コーディング規則の設定」という記事と、公式ドキュメントのサポート プロパティに関するセクションを参照してください。

EditorConfig 設定のオーバーライド

各ソリューションに複数の .editorconfig ファイルを与えることができます。 Visual Studio for Mac は、ソリューションで上から下へと .editorconfig ファイルを読み込みながら、設定を追加およびオーバーライドします。これは、編集しているファイルに最も近い.editorconfig の設定が優先されることを意味します。 設定は、(存在する場合) 同じフォルダーの .editorconfig ファイルから、次いで (存在する場合) 親フォルダーなどの .editorconfig から取得されます。 これは、root=true が見つかるまで実行されます。

すべての上位レベルの .editorconfig ファイルからの設定がコードベースのこの部分に適用されないようにするには、次のように root=true プロパティを下位レベルの .editorconfig ファイルに追加します。

# top-most EditorConfig file
root = true

関連項目