次の方法で共有


EditorConfig を使用して一貫性のあるコーディング スタイルを定義する

コードベースで動作するすべてのユーザーに一貫したコーディング スタイルを適用するには、 .editorconfig ファイルをソリューションまたはプロジェクトに追加します。 EditorConfig ファイルの設定は、 EditorConfig.org によって管理されるファイル形式の仕様に従います。多くのコード エディターとアプリケーションでは、Visual Studio を含む EditorConfig ファイルがサポートされています。 設定はファイル内にあるため、コードに付属しており、Visual Studio の外部でも使用できます。

Visual Studio では、EditorConfig ファイルの設定は、[ツール]>[オプション>テキスト エディター>[C# ] で使用できるさまざまなグローバル テキスト エディター設定よりも優先されます。C/C++ |Visual Basic]>Code スタイル。 EditorConfig ファイルを使用すると、各コードベースを調整して、そのプロジェクトに固有のテキスト エディター設定を使用できます。

EditorConfig ファイルを手動で設定することも、Visual Studio で選択したコード スタイル設定に基づいて自動的に生成することもできます。 詳細については、「 EditorConfig ファイルを追加する方法」を参照してください。

EditorConfig ファイルを使用する場合でも、Visual Studio テキスト エディターで独自の個人用エディターの基本設定を引き続き設定できます。 これらのテキスト エディター設定は、EditorConfig ファイルを使用せずにコードベースで作業しているとき、または EditorConfig ファイルが特定の設定をオーバーライドしない場合に適用されます。 このような設定の例として、コード のインデント スタイルにタブまたはスペースのどちらを使用するかがあります。

Visual Studio でプロジェクトに EditorConfig ファイルを追加すると、EditorConfig 設定に基づいて新しいコード行のみが書式設定されます。 [コードクリーンアップ] または [ドキュメントの書式設定] コマンドを実行しない限り、既存のコードの書式設定は変更されません。 詳細については、「 コード スタイルの適用」を参照してください。

コードの整合性

EditorConfig ファイル設定を使用すると、使用するエディターや IDE に関係なく、コードベースで一貫したコーディング スタイルと規則を維持できます。 制御できるコーディング スタイルには、インデント スタイル、タブ幅、行末文字、エンコードがあります。 たとえば、C# コードベースにインデントで 5 つのスペース文字を使用する規則があり、ドキュメントで UTF-8 エンコードが使用され、行が CR/LF で終わる場合は、この規則を使用するように EditorConfig ファイルを構成できます。

EditorConfig ファイルは、個人用プロジェクトで使用するコーディング規則が、チームのプロジェクトで使用される規則と異なる場合に便利です。 たとえば、インデントによってコードにタブ文字が追加されることを好む場合があります。 ただし、チームはインデントで 4 つのスペースを追加することを好む場合があります。 EditorConfig ファイルを使用すると、各シナリオの構成を作成できるため、この問題が解決されます。

コードベースの .editorconfig ファイルには EditorConfig 設定が含まれているため、そのコードベースと共に移動します。 EditorConfig に準拠したエディターでコード ファイルを開く限り、テキスト エディターの設定がアクティブになります。

EditorConfig ファイルで設定した規則は、ビルド エラーまたは警告として CI/CD パイプラインに適用できません。 スタイルの偏差は、Visual Studio エディターと エラー一覧にのみ表示されます。

サポートされている設定

Visual Studio のエディターでは、 EditorConfig プロパティのコア セットがサポートされています。

  • インデントスタイル
  • インデントサイズ
  • タブ幅
  • 行の終わり
  • charset
  • 末尾の空白を除去する
  • 末尾に改行を挿入

EditorConfig では、XML サポート EditorConfig エディター設定を除き、Visual Studio でサポートされているすべての言語がサポートされます。

EditorConfig では、C# と Visual Basic の言語書式設定名前付け規則などのコード スタイル規則がサポートされています。

EditorConfig ファイルの追加と削除

EditorConfig ファイルをプロジェクトまたはコードベースに追加すると、Visual Studio は EditorConfig ファイルの設定に従って記述する新しいコード行を書式設定します。 ただし、Visual Studio では、ドキュメントの書式を設定するか 、コード クリーンアップを実行するまで、既存のスタイルを新しいスタイルに変換しません。 たとえば、ファイル内のインデントがタブで書式設定されていて、インデントをスペースで書式設定する EditorConfig ファイルを追加した場合、インデント文字は自動的にスペースに変換されません。 文書の書式を設定する ( 編集>Advanced>Format DocumentCtrl+KCtrl+D キーを押すと、EditorConfig ファイルの空白の設定が既存のコード行に適用されます。

プロジェクトまたはコードベースから EditorConfig ファイルを削除する場合は、グローバル エディター設定で新しいコード行に影響を与えるために、開いているコード ファイルを閉じてから再度開く必要があります。

EditorConfig ファイルを追加する方法

EditorConfig ファイルをプロジェクトに追加するには、いくつかの方法があります。

コード スタイルの設定から EditorConfig を生成する

EditorConfig ファイルを手動で設定することも、[Visual Studio のオプション] ダイアログ ボックスで選択したコード スタイルの設定に基づいてファイルを自動的に生成することもできます。 このオプション ページは、 Tools>Options>Text Editor> [C# | C/C++ | Visual Basic] >Code Style>General にあります。 [設定から .editorconfig ファイルを生成] をクリックすると、このオプション ページの設定に基づいてコーディング スタイルの .editorconfig ファイルが自動的に生成されます。

設定から editorconfig ファイルを生成するのスクリーンショット。

EditorConfig ファイルを手動で設定することも、[Visual Studio のオプション] ダイアログ ボックスで選択したコード スタイルの設定に基づいてファイルを自動的に生成することもできます。 このオプション ページは、 Tools>Options>Text Editor> [C# または Basic] >Code Style>General で使用できます。 [設定から .editorconfig ファイルを生成] をクリックすると、このオプション ページの設定に基づいてコーディング スタイルの .editorconfig ファイルが自動的に生成されます。

設定から editorconfig ファイルを生成するのスクリーンショット。

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

EditorConfig ファイルをプロジェクトまたはソリューションに追加するには、次の手順に従います。

  1. Visual Studio でプロジェクトまたはソリューションを開きます。 EditorConfig 設定をソリューション内のすべてのプロジェクトに適用するか、1 つだけに適用するかに応じて、ソリューションまたはプロジェクト ノードを選択します。 プロジェクトまたはソリューション内のフォルダーを選択して、 .editorconfig ファイルを追加することもできます。

  2. メニューから [プロジェクト] > [新しい項目の追加] を選択するか、Ctrl++キーを押します。

    [新しい項目の追加] ダイアログ ボックスが開きます。

  3. 検索ボックスに「 editorconfig」と入力します。

    2 つの editorconfig ファイル 項目テンプレートが検索結果に表示されます。

    Visual Studio の EditorConfig ファイル項目テンプレートを示すスクリーンショット。

  4. editorconfig ファイル (空) テンプレートを選択して、空白、コード スタイル、名前付け規則の既定の EditorConfig オプションが事前に入力された EditorConfig ファイルを追加します。 または、 editorconfig ファイル (.NET) テンプレートを選択して、既定の .NET 空白文字、コード スタイル、名前付け規則が事前に入力された EditorConfig ファイルを追加します。

    ソリューション エクスプローラーに新しい .editorconfig ファイルが表示され、エディターで新しいタブとして開きます。

    ソリューション エクスプローラーとエディターの .editorconfig ファイルを示すスクリーンショット。

  5. 必要に応じてファイルを編集し、保存します。

ファイル階層と優先順位

.editorconfig ファイルをファイル階層内のフォルダーに追加すると、その設定はそのレベル以下のすべての適用可能なファイルに適用されます。 特定のプロジェクト、コードベース、またはコードベースの一部の EditorConfig 設定をオーバーライドして、コードベースの他の部分とは異なる規則を使用することもできます。 これを行うと、他の場所からコードを組み込み、その規則を変更したくない場合に役立ちます。

以下のガイドラインに従います。

  • EditorConfig 設定の一部またはすべてをオーバーライドするには、オーバーライドされた設定を適用するファイル階層のレベルで .editorconfig ファイルを追加します。 新しい EditorConfig ファイル設定は、同じレベルのファイルと任意のサブディレクトリ内のファイルに適用されます。

    EditorConfig 階層を示すスクリーンショット。

  • すべての設定ではなく一部の設定をオーバーライドする場合は、 .editorconfig ファイルでそれらの設定のみを指定します。 下位レベルの .editorconfig ファイルに明示的に一覧表示したプロパティのみがオーバーライドされます。 上位レベルの .editorconfig ファイルのその他の設定は引き続き適用されます。

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

    # top-most EditorConfig file for this level
    root = true
    

EditorConfig ファイルは上から下に読み取られます。 同じ名前のプロパティが複数ある場合は、同じ名前の最新のプロパティが優先されます。

EditorConfig ファイルの編集

Visual Studio 2022 には、EditorConfig ファイル用のビジュアル エディターが用意されています。

EditorConfig ファイルを編集した後、新しい設定を有効にするには、コード ファイルを再読み込みする必要があります。

Visual Studio は、IntelliSense 入力候補リストを提供することで EditorConfig ファイルを編集するのに役立ちます。 例えば次が挙げられます。

EditorConfig ファイルの IntelliSense を示すスクリーンショット。

多くの EditorConfig ファイルを編集する場合は、 EditorConfig Language Service 拡張機能 が役立つ場合があります。 この拡張機能の一部の機能には、構文の強調表示、IntelliSense の強化、検証、コードの書式設定などがあります。

EditorConfig Language Service 拡張機能を含む IntelliSense を示すスクリーンショット。

次の例は、EditorConfig ファイルをプロジェクトに追加する前と後の C# コード スニペットのインデント状態を示しています。

  1. [ ツール>オプション ] ダイアログ ボックスで、 Visual Studio テキスト エディターのテキスト エディター>C#>Tabs 設定を設定して、 Tab キーを押すと 4 つの空白文字が生成されます。

    [テキスト エディター] タブの設定を示すスクリーンショット。

  2. 予想どおり、次の行で Tab キーを押すと、4 つの空白文字を追加して行がインデントされます。

    コードにスペースを追加する Tab キーを示すスクリーンショット。

    コードにスペースを追加する Tab キーを示すスクリーンショット。

  3. EditorConfig を使用して、タブを使用するようにタブ設定を切り替えます。

    EditorConfig ファイルで [タブを使用 ] を選択します。

    Tab キーのタブの使用の構成を示すスクリーンショット。

    .editorconfigという名前の新しいファイルを次の内容でプロジェクトに追加します。 [*.cs] インジケーターは、この変更がプロジェクト内の C# コード ファイルにのみ適用されることを意味します。

    # Top-most EditorConfig file
    root = true
    
    # Tab indentation
    [*.cs]
    indent_style = tab
    
  4. Tab キーを押すと、スペースの代わりにタブ文字が表示されるようになりました。

    コードにタブ文字を追加する Tab キーを示すスクリーンショット。

    コードにタブ文字を追加する Tab キーを示すスクリーンショット。

EditorConfig 設定のトラブルシューティング

EditorConfig ファイルがプロジェクトの場所またはその上にあるディレクトリ構造内の任意の場所に存在する場合、Visual Studio はそのファイルのエディター設定をエディターに適用します。 この場合、ステータス バーに次のメッセージが表示されることがあります。

User preferences for this file type are overridden by this project's coding conventions.

つまり、 Tools>Options>Text Editor のエディター設定 (インデント サイズとスタイル、タブ サイズ、コーディング規則など) が、ディレクトリ構造内のプロジェクトの上にある EditorConfig ファイルで指定されている場合、EditorConfig ファイルの規則は テキスト エディターの設定をオーバーライドします。

EditorConfig の問題をトラブルシューティングするには、次の手順に従います。

  1. Visual Studio の EditorConfig サポートをオフにするには、[ツール]、[オプション]、[>] の [プロジェクトのコーディング規則に従う>オプションオフにします。

    [プロジェクトのコーディング規則に従う] の設定を示すスクリーンショット。

  2. プロジェクトの親ディレクトリにある EditorConfig ファイルを検索するには、コマンド プロンプトを開き、プロジェクトを含むディスクのルートから次のコマンドを実行します。

    dir .editorconfig /s
    
  3. EditorConfig 規則のスコープを制御するには、リポジトリのルートまたはプロジェクトが存在するディレクトリにあるroot=true ファイルに.editorconfig プロパティを設定します。

    Visual Studio は、開いているファイルのディレクトリとすべての親ディレクトリで、 .editorconfig という名前のファイルを検索します。 検索は、ルート ファイルパスに到達したとき、または.editorconfigを含むroot=true ファイルが見つかった場合に終了します。