EditorConfig を使用する
JetBrains Rider は、EditorConfig(英語) 形式で定義されたコード形式スタイル、コード構文スタイル、C# の命名スタイル、コードインスペクション重大度レベルをサポートします。
EditorConfig とは何ですか? JetBrains Rider はどのようにそれを拡張しますか?
EditorConfig は、同じコードで作業しているチームメンバー間、およびメンバーが使用する可能性のあるさまざまな IDE 間で一貫したコードスタイルを定義および維持するために使用される構成ファイルの規則です。スタイルは、.editorconfig という名前の INI のようなファイルに保存されます。ここで、セクション名はファイルマスクであり、セクション内のプロパティは、それらのマスクに一致するファイルのコードスタイルを定義します。
EditorConfig の規則が示すように、JetBrains Rider は現在のファイルのディレクトリとそのすべての親ディレクトリの .editorconfig という名前のファイルで定義されているコードスタイルを、ルートファイルパスに達するか root=true
で EditorConfig ファイルが見つかるまで適用します。.editorconfig ファイルで指定されているファイルマスク、たとえば *Test.cs
も考慮されます。
JetBrains Rider は、標準の EditorConfig プロパティ、最も頻繁に使用される .NET コーディング規約 EditorConfig プロパティを理解し、カスタム EditorConfig プロパティのセットを提供します。これにより、フォーマット、構文、コードインスペクションルールのより詳細な構成が可能になります。JetBrains Rider 設定ダイアログには、独自の EditorConfig プロパティがあります。これは、EditorConfig ファイルでコードスタイルとインスペクションルールの構成全体を維持できることを意味します。以下は、JetBrains Rider でサポートされている EditorConfig プロパティの例です。
ソリューションの EditorConfig
デフォルトでは、JetBrains Rider は EditorConfig プロパティを考慮し、JetBrains Rider 設定で定義された設定を上書きします。JetBrains Rider でコードのフォーマットとコード構文の EditorConfig スタイルを無視する場合は、JetBrains Rider 設定の
ページで対応するチェックボックスをオフにします。EditorConfig からコードインスペクションと命名スタイルを構成するには、JetBrains Rider 設定のeditorconfig、プロジェクト設定、ルールセットから設定を読み取りますチェックボックスを選択する必要があります。
ページでEditorConfig サポートが有効で、現在のファイルに影響を与える .editorconfig ファイルがある場合、JetBrains Rider は、どの EditorConfig スタイルが適用されているか、これらの設定がどこから来るのかを理解できます:
JetBrains Rider コードスタイルおよびフォーマットオプションページでは、ページ上の少なくとも 1 つの設定が現在のファイルの EditorConfig スタイルによってオーバーライドされると、黄色の警告が表示され、オーバーライドされた各設定も黄色でハイライトされます。例:
コードスタイルの構成ダイアログでは、現在のファイルに影響を与えるすべての .editorconfig ファイルを確認して調べることができます。
EditorStyle へのコードスタイル設定のエクスポート
EditorConfig を介してコードスタイル設定を共有する場合、JetBrains Rider ですでに構成されているスタイルを .editorconfig ファイルにエクスポートすることができます。
Ctrl+Alt+S を押すか、メニューから
(Windows および Linux) または (macOS) を選択し、左側の を選択します。EditorConfig のサポートを有効にするの横にあるエクスポートをクリックします。これにより、.editorconfig へのエクスポートダイアログが開きます。
デフォルトでは、JetBrains Rider は現在のソリューションのルートディレクトリにある新しい .editorconfig ファイルに設定を書き込みます。1 つ以上の .editorconfig ファイルが存在する場合、JetBrains Rider は設定を保存するためにディレクトリ階層で最も近いファイルを使用します。必要に応じて、ダイアログの上部にあるパスセレクターを使用して宛先ファイルを変更できます。
セクション (ファイルマスク) フィールドでは、生成されたプロパティを持つセクションに使用するワイルドカードパターンを指定できます。標準の EditorConfig プロパティをエクスポートすることを選択した場合、それらは言語の規則に従って他のセクションに配置されることに注意してください。
より詳細な設定については、追加オプションを表示を展開して以下のオプションを選択することができます。
- デフォルト値を持つ設定をエクスポートする
デフォルトでは、JetBrains Rider は変更した設定のプロパティのみを保存します。結果の .editorconfig が ReSharper または Rider によって読み取られるときに、これらの設定のみが適用され、他の設定が上書きされます。その他のすべての設定は、IDE で指定された値になります。
このオプションを有効にすると、JetBrains Rider は、変更されたかどうかに関係なく、すべての設定を現在の状態で保存します。これにより、ReSharper または Rider によって読み取られるときに、すべてのコードスタイルとフォーマットを上書きする、より厳密な .editorconfig が得られます。
- あいまいな値を持つ既存のプロパティを削除する
一部の EditorConfig プロパティは複数の JetBrains Rider 固有のプロパティに対応している可能性があり、これによりより正確な構成が可能になります。そのため、より一般的なプロパティが関連する JetBrains Rider 固有のプロパティの一部と一致し、他のプロパティと矛盾する状況が発生する可能性があり、その結果、このより一般的なプロパティがあいまいになります。
より詳細なプロパティの優先度が高いため、このような状況は問題ではなく、あいまいな値を持つプロパティを削除する必要はありません。
あいまいな値を持つプロパティを削除したい場合は、プロジェクトの EditorConfig スタイルが ReSharper と Rider によってのみ読み取られ、.editorconfig ファイルから冗長性を削除したい場合のみです。
- 標準の .editorconfig プロパティをエクスポートする
標準の .editorconfig プロパティ(英語)を保存するかどうかを定義します。これらのプロパティは、生成された EditorConfig が他のエディターおよび IDE によって読み取られる場合にも適用されます。
- クロスエディターの言語固有のプロパティをエクスポートする
.NET コーディング規約のプロパティを保存するかどうかを定義します。これらのプロパティは、生成された EditorConfig が他のエディターや IDE によって読み取られる場合にも適用されます。
- JetBrains Rider/ReSharper 固有のコードスタイルプロパティのエクスポート
製品固有のコードフォーマットスタイル、コード構文スタイルを保存するかどうかを定義します。
- JetBrains Rider/ReSharper 固有のインスペクション重大度のエクスポート
JetBrains Rider の構成可能なコードインスペクションの重大度レベルを保存するかどうかを定義します。
指定された場所に既存の .editorconfig ファイルがある場合、そこに存在するプロパティの値と JetBrains Rider が保存しようとしているプロパティの値の間に競合が発生する可能性があります。このようなプロパティは赤で表示され、保存を続行すると、競合は新しく生成されたプロパティに優先して解決されます。
エクスポートをクリックしてください。JetBrains Rider は指定された場所に .editorconfig ファイルを作成または更新します。
フォーマットルールのコンテキスト構成後に、フォーマットスタイルを EditorConfig に保存することもできます。
EditorConfig で JetBrains Rider フォーマッターを無効にする
C# では、disable_formatter=true
を持つ EditorConfig マスクを使用して JetBrains Rider フォーマッターを無効にすることができます。
標準の EditorConfig プロパティ
JetBrains Rider は、次の標準の EditorConfig プロパティを適用します。
indent_size
indent_style
tab_width
max_line_length
insert_final_newline
JetBrains Rider のカスタム EditorConfig プロパティの中には、特定の言語の標準プロパティをオーバーライドするプロパティがあることに注意してください。例: indent_size
プロパティを使用してすべての言語のデフォルトのインデントサイズを設定し、同時に csharp_indent_size プロパティを使用して C# ファイルに異なるインデントサイズを設定できます。
カスタム EditorConfig プロパティ
JetBrains Rider が提供するカスタム EditorConfig プロパティを使用すると、コードスタイルとコードインスペクション設定を構成できます。コードインスペクションのプロパティは C# のコードインスペクションにあります。コードスタイルとフォーマットのプロパティは、言語およびカテゴリ別の EditorConfig プロパティトピックの子ページに一覧表示されています。
.NET コーディング規約 EditorConfig プロパティ
2025.1 の時点で、JetBrains Rider は .NET コーディング規則のために最も頻繁に使われる EditorConfig プロパティをサポートします:
csharp_space_between_method_call_empty_parameter_list_parentheses
csharp_space_between_method_call_name_and_opening_parenthesis
csharp_space_between_method_declaration_empty_parameter_list_parentheses
csharp_space_between_method_declaration_name_and_open_parenthesis
csharp_space_between_method_declaration_parameter_list_parentheses
dotnet_diagnostic.*
— すべてのコンパイラー警告でサポートされています。dotnet_naming_rule.*
、dotnet_naming_style.*
、dotnet_naming_symbols.*
— 指定された種類の記号が JetBrains Rider 命名設定で使用可能な記号の種類と一致する場合に機能します。
関連ページ:

フォーマットルールを構成する
フォーマットルールは非常に高いレベルの詳細に設定できます。例: 特定の演算子の周囲に空白を配置するか、入れ子になった文をインデントするかを定義できます。設定でコードフォーマットルールを構成するを押すか、メニューから (Windows および Linux) または (macOS) を選択します。ページを使用して、言語固有のフォーマットを構成します。これらのページでは、下部にあるプレビュー領域を使用して、JetBrains Rider が特定の環境設定をコードに適用する方法を表示できます。設定ダイア...

スペース、タブ、改行を使用してコードをフォーマットする
コードスタイルの重要な側面は、コードのフォーマット方法、つまり、空白、タブ、改行を使用してコード要素を配置する方法、インデントにタブを使用するかどうかと方法、長い行を折り返すかどうかと方法などです。オン。JetBrains Rider コードのフォーマットルールの広範なセットには、多数のベストプラクティスを考慮したデフォルト設定があります。フォーマットルールのすべての詳細を構成し、コードにルールを適用できます。これらのルールは、JetBrains Rider がコード補完およびコード生成機能を使...

構文スタイル
コードスタイルの側面の 1 つは、互換性のある言語構文構造を使用する方法です。例: 以下の 2 つのメソッド定義は、コンパイラーの観点からは同じですが、構文構造の選択により、それらは異なって見えます。[Conditional(

ネーミングスタイル
JetBrains Rider は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。各ルールには、複合語、アンダースコア、接尾辞、接頭辞などの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。これらのルールは、JetBrains Rider がコード補完およびコード生成機能を使用して新しいコードを生...

コードインスペクション
JetBrains Rider は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション JetBrains Rider が提供するコードの種類を調べるには、異なる言語の JetBrains Rider コードインスペクションの全リストをご覧ください。コードイ...