EditorConfig を使用する
ReSharper は、 コードフォーマットスタイル、 コード構文スタイル、 C# 命名スタイル、 コードインスペクション重要度レベル 、および EditorConfig 形式で定義されたそれぞれに対応しています。
まず、この 2 分間の概要ビデオを見て、Matt Ellis が EditorConfig を使用してフォーマットルールの構成全体を維持するのに ReSharper がどのように役立つかを説明します。
EditorConfig とは何ですか? ReSharper はどのようにそれを拡張しますか?
EditorConfig は、同じコードを編集するチームメンバー間や利用する IDE が異なる場合でも、一貫したコードスタイルを定義・維持するための構成ファイルの規則です。 スタイルは、 .editorconfig という名前の INI 形式に似たファイルに保存され、セクション名がファイルマスクとなり、各セクション内のプロパティでそのマスクに一致するファイルのコードスタイルを定義します。
EditorConfig の規則に従い、ReSharper は現在のファイルのディレクトリおよびすべての親ディレクトリの .editorconfig という名前のファイルで定義されたコードスタイルを、ルートファイルパスに到達するか root=true を持つ EditorConfig ファイルが見つかるまで適用します。 .editorconfig ファイルで指定されているファイルマスク、たとえば *Test.cs も考慮されます。
ReSharper は、 標準の EditorConfig プロパティ 、よく使われる .NET コーディング規則の EditorConfig プロパティ 、および カスタム EditorConfig プロパティを理解しています。これにより、フォーマット・構文・コードインスペクションルールをより細かく構成できます。実際、ReSharper のオプション ダイアログで設定できる各コードスタイルの環境設定には、それぞれ専用の EditorConfig プロパティが割り当てられています。 つまり、 コードスタイルおよびインスペクションルールのすべての構成を EditorConfig ファイルで一元管理できます。 以下は、ReSharper でサポートされている EditorConfig プロパティの例です:
ソリューションの EditorConfig
デフォルトでは、ReSharper は EditorConfig プロパティを考慮し、ReSharper および Visual Studio オプション で定義された環境設定をオーバーライドします。 ReSharper でコードフォーマットやコード構文の EditorConfig スタイルを無視したい場合は、ReSharper オプション の ページで該当するチェックボックスをオフにしてください。
EditorConfig からコードインスペクションおよび命名スタイルを構成するには、ReSharper オプション の ページで editorconfig とプロジェクト設定から設定を読み込む チェックボックスを選択してください。
EditorConfig サポートが有効化されており、現在のファイルに影響する .editorconfig ファイルが存在する場合、ReSharper でどの EditorConfig スタイルが適用されているか、またその設定元がどこかを確認できます:
ReSharper のコードスタイルおよびフォーマットオプションページでは、そのページ上の少なくとも 1 つの環境設定が現在のファイルの EditorConfig スタイルによってオーバーライドされている場合、黄色の警告が表示され、オーバーライドされた各環境設定も黄色でハイライトされます。 たとえば、次のようになります。

ファイル フォーマット情報ウィンドウ では、現在のファイルに影響を与えるすべての .editorconfig ファイルを確認・調査できます:

EditorStyle へのコードスタイル設定のエクスポート
EditorConfig でコードスタイル設定を共有する場合は、ReSharper で既に構成されているスタイルを .editorconfig ファイルへエクスポートすることもできます。
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
コードスタイル構成ファイル セクションで、 現在のスタイルを .editorconfig に書き込む をクリックします。 これにより、 .editorconfig へのエクスポート ダイアログが開きます。
デフォルトでは、ReSharper は設定内容を現在のソリューションのルートディレクトリに新しく作成された .editorconfig ファイルに書き込みます。 .editorconfig ファイルが存在する場合、ReSharper は設定保存時にディレクトリ階層で最も近いファイルを使用します。 必要に応じて、ダイアログの上部にあるパスセレクターを使用して宛先ファイルを変更できます。
セクション (ファイルマスク) フィールドでは、生成されたプロパティを持つセクションに使用するワイルドカードパターンを指定できます。 標準の EditorConfig プロパティをエクスポートすることを選択した場合、それらは言語の規則に従って他のセクションに配置されることに注意してください。
より詳細な設定については、 追加オプションを表示 を展開して以下のオプションを選択することができます。
- デフォルト値のある設定をエクスポート
デフォルトで、ReSharper は変更した設定のプロパティのみ保存します。 結果の .editorconfig が ReSharper または Rider によって読み取られるときに、これらの設定のみが適用され、他の設定が上書きされます。 他のすべての設定は、IDE で指定された値を取ります。
このオプションを有効化すると、ReSharper は変更有無にかかわらず全ての設定を現在の状態で保存します。 このようにして、ReSharper または Rider によって読み取られたときに、すべてのコードスタイルとフォーマット設定をオーバーライドするより厳密な .editorconfig を取得します。
- あいまいな値を持つ既存プロパティの除去
一部の EditorConfig プロパティは複数の ReSharper 固有のプロパティに対応しており、より精密な構成が可能です。 そのため、より一般的なプロパティがいくつかの関連する ReSharper 固有プロパティと一致し、他と矛盾する場合、一般的なプロパティが曖昧になる状況が発生することがあります。
より詳細なプロパティの優先度が高いため、このような状況は問題ではなく、あいまいな値を持つプロパティを削除する必要はありません。
あいまいな値を持つプロパティを削除したい場合は、プロジェクトの EditorConfig スタイルが ReSharper と Rider によってのみ読み取られ、 .editorconfig ファイルから冗長性を削除したい場合のみです。
- 標準の .editorconfig プロパティをエクスポート
標準 .editorconfig プロパティを保存するかどうかを定義します。これらのプロパティは、生成する EditorConfig を他のエディターや IDE で読んだ場合にも適用されます。
- エディター間で共通の言語固有のプロパティをエクスポート
.NET コーディング規則プロパティを保存するかどうかを定義します。 これらのプロパティは、生成する EditorConfig を他のエディターや IDE で読み込んだ場合にも適用されます。
- JetBrains Rider/ReSharper 固有のコーススタイルプロパティをエクスポート
製品固有の コードフォーマットスタイルや コード構文スタイルを保存するかを定義します。
- JetBrains Rider/ReSharper 固有のインスペクション重大度をエクスポート
ReSharper で設定可能なコードインスペクション用の 重要度レベルを保存するかどうかを定義します。
指定した場所に既存の .editorconfig ファイルがある場合、そこに存在するプロパティの値と ReSharper が保存しようとする値の間で競合する可能性があります。 このようなプロパティは赤で表示され、保存を続行すると、競合は新しく生成されたプロパティに優先して解決されます。
エクスポート をクリックします。 ReSharper は指定場所に .editorconfig ファイルを作成または更新します。
フォーマットルールの コンテキスト構成後に、フォーマットスタイルを EditorConfig に保存することもできます。

.editorconfig をインタラクティブに編集する
EditorConfig 形式はテキストエディターで構成ファイルを読み書きできるよう設計されていますが、 利用可能なすべての EditorConfig プロパティを覚えておき、適切なものを見つけるのは難しい場合があります。
.editorconfig を手動で編集するときに起こりうるエラーを回避するために、代わりに対話形式で編集できます。
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
コードスタイル構成ファイル セクションで、 .editorconfig をインタラクティブに編集する をクリックします。
オプション ダイアログが開き、コードスタイル設定に影響するページのみが表示されます。

エディターで現在アクティブなファイルに影響する既存の .editorconfig ファイルがある場合、ReSharper はこれらのファイルの設定を使ってダイアログの値を初期化します。 それ以外の場合、デフォルト値が使用されます。
コードに影響する .editorconfig ファイルは、ソリューションディレクトリの外部、親ディレクトリにある可能性があることに注意してください。
EditorConfig 設定を表示および構成するには、ダイアログのコントロールを使用します。 終了したら、 保存 をクリックします。 これにより、 .editorconfig へのエクスポート ダイアログが開きます。
デフォルトでは、ReSharper は設定内容を現在のソリューションのルートディレクトリに新しく作成された .editorconfig ファイルに書き込みます。 .editorconfig ファイルが存在する場合、ReSharper は設定保存時にディレクトリ階層で最も近いファイルを使用します。 必要に応じて、ダイアログの上部にあるパスセレクターを使用して宛先ファイルを変更できます。
セクション (ファイルマスク) フィールドでは、生成されたプロパティを持つセクションに使用するワイルドカードパターンを指定できます。 標準の EditorConfig プロパティをエクスポートすることを選択した場合、それらは言語の規則に従って他のセクションに配置されることに注意してください。
より詳細な設定については、 追加オプションを表示 を展開して以下のオプションを選択することができます。
- デフォルト値のある設定をエクスポート
デフォルトで、ReSharper は変更した設定のプロパティのみ保存します。 結果の .editorconfig が ReSharper または Rider によって読み取られるときに、これらの設定のみが適用され、他の設定が上書きされます。 他のすべての設定は、IDE で指定された値を取ります。
このオプションを有効化すると、ReSharper は変更有無にかかわらず全ての設定を現在の状態で保存します。 このようにして、ReSharper または Rider によって読み取られたときに、すべてのコードスタイルとフォーマット設定をオーバーライドするより厳密な .editorconfig を取得します。
- あいまいな値を持つ既存プロパティの除去
一部の EditorConfig プロパティは複数の ReSharper 固有のプロパティに対応しており、より精密な構成が可能です。 そのため、より一般的なプロパティがいくつかの関連する ReSharper 固有プロパティと一致し、他と矛盾する場合、一般的なプロパティが曖昧になる状況が発生することがあります。
より詳細なプロパティの優先度が高いため、このような状況は問題ではなく、あいまいな値を持つプロパティを削除する必要はありません。
あいまいな値を持つプロパティを削除したい場合は、プロジェクトの EditorConfig スタイルが ReSharper と Rider によってのみ読み取られ、 .editorconfig ファイルから冗長性を削除したい場合のみです。
- 標準の .editorconfig プロパティをエクスポート
標準 .editorconfig プロパティを保存するかどうかを定義します。これらのプロパティは、生成する EditorConfig を他のエディターや IDE で読んだ場合にも適用されます。
- エディター間で共通の言語固有のプロパティをエクスポート
.NET コーディング規則プロパティを保存するかどうかを定義します。 これらのプロパティは、生成する EditorConfig を他のエディターや IDE で読み込んだ場合にも適用されます。
- JetBrains Rider/ReSharper 固有のコーススタイルプロパティをエクスポート
製品固有の コードフォーマットスタイルや コード構文スタイルを保存するかを定義します。
- JetBrains Rider/ReSharper 固有のインスペクション重大度をエクスポート
ReSharper で設定可能なコードインスペクション用の 重要度レベルを保存するかどうかを定義します。
指定した場所に既存の .editorconfig ファイルがある場合、そこに存在するプロパティの値と ReSharper が保存しようとする値の間で競合する可能性があります。 このようなプロパティは赤で表示され、保存を続行すると、競合は新しく生成されたプロパティに優先して解決されます。
エクスポート をクリックします。 ReSharper は指定場所に .editorconfig ファイルを作成または更新します。
EditorConfig で ReSharper フォーマッターを無効にする
C#、C++、JavaScript、TypeScript、HTML、Protobuf では、 disable_formatter=true を含む EditorConfig マスクを使って ReSharper フォーマッターを無効化できます。
EditorConfig でコードクリーンアッププロファイルを置き換える
ReSharper では、 ソリューション内のほとんどのファイルに対して特定のコードのクリーンアッププロファイルを使用し、一部のファイルには異なるコードのクリーンアッププロファイルを使用できます。 また、特定のファイルに対してクリーンアップを完全にスキップすることもできます。
これを行うには、次の構文で resharper_substitution_for_cleanup_profile EditorConfig プロパティを使用します。
この構文では、コードのクリーンアップを特定のプロファイルで開始する場合は、そのプロファイル名を => の左に指定し、任意のプロファイルで開始する場合は => の左に * を記述できます。 使用するプロファイル名は => の右側に指定し、該当するファイルにコードのクリーンアップを適用しない場合は skip を記述します。
標準の EditorConfig プロパティ
ReSharper は次の標準の EditorConfig プロパティを適用します:
indent_sizeindent_styletab_widthmax_line_lengthinsert_final_newline
ReSharper の カスタム EditorConfig プロパティの中には、特定の言語で標準プロパティをオーバーライドするものがあります。 例: indent_size プロパティを使用してすべての言語のデフォルトのインデントサイズを設定し、同時に csharp_indent_size プロパティを使用して C# ファイルに異なるインデントサイズを設定できます。
カスタム EditorConfig プロパティ
ReSharper が提供するカスタム EditorConfig プロパティでは、コードスタイルおよびコードインスペクション設定の構成が可能です。 コードインスペクションのプロパティは C# のコードインスペクション にあります。 コードスタイルとフォーマットのプロパティは、 言語およびカテゴリ別の EditorConfig プロパティ トピックの子ページに一覧表示されています。
.NET コーディング規約 EditorConfig プロパティ
バージョン 2026.1 以降、ReSharper は .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.*― 指定された シンボルの種類が ReSharper の命名設定で利用可能なシンボル種類と一致する場合に機能します。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。