ReSharper 2026.3 Help

EditorConfig を使用する

ReSharper は、 コードフォーマットスタイル、 コード構文スタイル、 C# 命名スタイル、 コードインスペクション重要度レベル 、および EditorConfig 形式で定義されたそれぞれに対応しています。

まず、この 2 分間の概要ビデオを見て、Matt Ellis が EditorConfig を使用してフォーマットルールの構成全体を維持するのに ReSharper がどのように役立つかを説明します。

EditorConfig とは何ですか? ReSharper はどのようにそれを拡張しますか?

EditorConfig は、同じコードを編集するチームメンバー間や利用する IDE が異なる場合でも、一貫したコードスタイルを定義・維持するための構成ファイルの規則です。 スタイルは、 .editorconfig という名前の INI 形式に似たファイルに保存され、セクション名がファイルマスクとなり、各セクション内のプロパティでそのマスクに一致するファイルのコードスタイルを定義します。

As EditorConfig convention suggests, ReSharper applies code styles defined in files named .editorconfig in the directory of the current file and in all its parent directories until it reaches the root directory or finds an EditorConfig file with root=true. .editorconfig ファイルで指定されているファイルマスク、たとえば *Test.cs も考慮されます。

ReSharper は、 標準の EditorConfig プロパティ 、よく使われる .NET コーディング規則の EditorConfig プロパティ 、および カスタム EditorConfig プロパティを理解しています。これにより、フォーマット・構文・コードインスペクションルールをより細かく構成できます。実際、ReSharper のオプション ダイアログで設定できる各コードスタイルの環境設定には、それぞれ専用の EditorConfig プロパティが割り当てられています。 つまり、 コードスタイルおよびインスペクションルールのすべての構成を EditorConfig ファイルで一元管理できます。 以下は、ReSharper でサポートされている EditorConfig プロパティの例です:

root = true [*] # Most of the standard properties are supported indent_size=2 max_line_length=100 # Most frequently used .NET-coding-convention properties are supported csharp_space_between_parentheses=expressions, type_casts, control_flow_statements csharp_style_var_for_built_in_types=true # dotnet_diagnostic rules are supported dotnet_diagnostic.CS1058.severity = hint # ReSharper custom properties for code formatting styles resharper_csharp_brace_style=next_line resharper_csharp_blank_lines_around_invocable=2 # ReSharper custom properties for code syntax styles csharp_default_private_modifier=explicit braces_for_ifelse=not_required # ReSharper custom properties for code inspections resharper_possible_null_reference_exception_highlighting=error resharper_replace_with_string_is_null_or_empty_highlighting=none

ソリューションの EditorConfig

デフォルトでは、ReSharper は EditorConfig プロパティを考慮し、ReSharper および Visual Studio オプション で定義された環境設定をオーバーライドします。 ReSharper でコードフォーマットやコード構文の EditorConfig スタイルを無視したい場合は、ReSharper オプション の コード編集 | C++ | スタイルのフォーマット | 一般 ページで該当するチェックボックスをオフにしてください。

EditorConfig からコードインスペクションおよび命名スタイルを構成するには、ReSharper オプション の コードインスペクション | 設定 ページで editorconfig とプロジェクト設定から設定を読み込む チェックボックスを選択してください。

EditorConfig サポートが有効化されており、現在のファイルに影響する .editorconfig ファイルが存在する場合、ReSharper でどの EditorConfig スタイルが適用されているか、またその設定元がどこかを確認できます:

  • ReSharper のコードスタイルおよびフォーマットオプションページでは、そのページ上の少なくとも 1 つの環境設定が現在のファイルの EditorConfig スタイルによってオーバーライドされている場合、黄色の警告が表示され、オーバーライドされた各環境設定も黄色でハイライトされます。 たとえば、次のようになります。

    EditorConfig スタイルでオーバーライドされたコードフォーマットオプション
  • ファイル フォーマット情報ウィンドウ では、現在のファイルに影響を与えるすべての .editorconfig ファイルを確認・調査できます:

    ReSharper。 ファイル フォーマット情報ウィンドウ

EditorStyle へのコードスタイル設定のエクスポート

EditorConfig でコードスタイル設定を共有する場合は、ReSharper で既に構成されているスタイルを .editorconfig ファイルへエクスポートすることもできます。

  1. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押してから、左側の コード編集 | 一般的なフォーマッタスタイル を選択します。

  2. コードスタイル構成ファイル セクションで、 現在のスタイルを .editorconfig に書き込む をクリックします。 これにより、 .editorconfig へのエクスポート ダイアログが開きます。

  3. デフォルトでは、ReSharper は設定内容を現在のソリューションのルートディレクトリに新しく作成された .editorconfig ファイルに書き込みます。 .editorconfig ファイルが存在する場合、ReSharper は設定保存時にディレクトリ階層で最も近いファイルを使用します。 必要に応じて、ダイアログの上部にあるパスセレクターを使用して宛先ファイルを変更できます。

  4. セクション (ファイルマスク) フィールドでは、生成されたプロパティを持つセクションに使用するワイルドカードパターンを指定できます。 標準の EditorConfig プロパティをエクスポートすることを選択した場合、それらは言語の規則に従って他のセクションに配置されることに注意してください。

  5. より詳細な設定については、 追加オプションを表示 を展開して以下のオプションを選択することができます。

    デフォルト値のある設定をエクスポート

    デフォルトで、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 で設定可能なコードインスペクション用の 重要度レベルを保存するかどうかを定義します。

  6. 指定した場所に既存の .editorconfig ファイルがある場合、そこに存在するプロパティの値と ReSharper が保存しようとする値の間で競合する可能性があります。 このようなプロパティは赤で表示され、保存を続行すると、競合は新しく生成されたプロパティに優先して解決されます。

  7. エクスポート をクリックします。 ReSharper は指定場所に .editorconfig ファイルを作成または更新します。

フォーマットルールの コンテキスト構成後に、フォーマットスタイルを EditorConfig に保存することもできます。

ReSharper: saving formatting styles to EditorConfig after contextual configuration

.editorconfig をインタラクティブに編集する

EditorConfig 形式はテキストエディターで構成ファイルを読み書きできるよう設計されていますが、 利用可能なすべての EditorConfig プロパティを覚えておき、適切なものを見つけるのは難しい場合があります。

.editorconfig を手動で編集するときに起こりうるエラーを回避するために、代わりに対話形式で編集できます。

  1. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押してから、左側の コード編集 | 一般的なフォーマッタスタイル を選択します。

  2. コードスタイル構成ファイル セクションで、 .editorconfig をインタラクティブに編集する をクリックします。

  3. オプション ダイアログが開き、コードスタイル設定に影響するページのみが表示されます。

    ReSharper: .editorconfig をインタラクティブに編集
  4. エディターで現在アクティブなファイルに影響する既存の .editorconfig ファイルがある場合、ReSharper はこれらのファイルの設定を使ってダイアログの値を初期化します。 それ以外の場合、デフォルト値が使用されます。

    コードに影響する .editorconfig ファイルは、ソリューションディレクトリの外部、親ディレクトリにある可能性があることに注意してください。

  5. EditorConfig 設定を表示および構成するには、ダイアログのコントロールを使用します。 終了したら、 保存 をクリックします。 これにより、 .editorconfig へのエクスポート ダイアログが開きます。

  6. デフォルトでは、ReSharper は設定内容を現在のソリューションのルートディレクトリに新しく作成された .editorconfig ファイルに書き込みます。 .editorconfig ファイルが存在する場合、ReSharper は設定保存時にディレクトリ階層で最も近いファイルを使用します。 必要に応じて、ダイアログの上部にあるパスセレクターを使用して宛先ファイルを変更できます。

  7. セクション (ファイルマスク) フィールドでは、生成されたプロパティを持つセクションに使用するワイルドカードパターンを指定できます。 標準の EditorConfig プロパティをエクスポートすることを選択した場合、それらは言語の規則に従って他のセクションに配置されることに注意してください。

  8. より詳細な設定については、 追加オプションを表示 を展開して以下のオプションを選択することができます。

    デフォルト値のある設定をエクスポート

    デフォルトで、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 で設定可能なコードインスペクション用の 重要度レベルを保存するかどうかを定義します。

  9. 指定した場所に既存の .editorconfig ファイルがある場合、そこに存在するプロパティの値と ReSharper が保存しようとする値の間で競合する可能性があります。 このようなプロパティは赤で表示され、保存を続行すると、競合は新しく生成されたプロパティに優先して解決されます。

  10. エクスポート をクリックします。 ReSharper は指定場所に .editorconfig ファイルを作成または更新します。

EditorConfig で ReSharper フォーマッターを無効にする

C#、C++、JavaScript、TypeScript、HTML、Protobuf では、 disable_formatter=true を含む EditorConfig マスクを使って ReSharper フォーマッターを無効化できます。

EditorConfig でコードクリーンアッププロファイルを置き換える

ReSharper では、 ソリューション内のほとんどのファイルに対して特定のコードのクリーンアッププロファイルを使用し、一部のファイルには異なるコードのクリーンアッププロファイルを使用できます。 また、特定のファイルに対してクリーンアップを完全にスキップすることもできます。

これを行うには、次の構文で resharper_substitution_for_cleanup_profile EditorConfig プロパティを使用します。

[reformatIfRunWithFullCleanup.cs] resharper_substitution_for_cleanup_profile.anysuffix=Built-in:Full Cleanup => Built-in: Reformat Code [alwaysReformat.cs] resharper_substitution_for_cleanup_profile=* = > Built-in:Reformat Code [skipIfRunWithFullCleanup.cs] resharper_substitution_for_cleanup_profile=Built-in:Full Cleanup => skip [skipCleanup.cs] resharper_substitution_for_cleanup_profile=* => skip

この構文では、コードのクリーンアップを特定のプロファイルで開始する場合は、そのプロファイル名を => の左に指定し、任意のプロファイルで開始する場合は => の左に * を記述できます。 使用するプロファイル名は => の右側に指定し、該当するファイルにコードのクリーンアップを適用しない場合は skip を記述します。

標準の EditorConfig プロパティ

ReSharper は次の標準の EditorConfig プロパティを適用します:

  • indent_size

  • indent_style

  • tab_width

  • max_line_length

  • insert_final_newline

ReSharper の カスタム EditorConfig プロパティの中には、特定の言語で標準プロパティをオーバーライドするものがあります。 例: indent_size プロパティを使用してすべての言語のデフォルトのインデントサイズを設定し、同時に csharp_indent_size プロパティを使用して C# ファイルに異なるインデントサイズを設定できます。

カスタム EditorConfig プロパティ

ReSharper が提供するカスタム EditorConfig プロパティでは、コードスタイルおよびコードインスペクション設定の構成が可能です。 コードインスペクションのプロパティは C# のコードインスペクション にあります。 コードスタイルとフォーマットのプロパティは、 言語およびカテゴリ別の EditorConfig プロパティ トピックの子ページに一覧表示されています。

.NET コーディング規約 EditorConfig プロパティ

バージョン 2026.3 以降、ReSharper は .NET コーディング規則向けによく利用されている EditorConfig プロパティをサポートしています:

この機能は、次の言語とテクノロジーで サポートされています。

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic で利用可能です

この機能は C++ で利用可能です

機能は ASP.NET で利用可能です

この機能は Razor で利用可能です

機能は XAML で利用可能です

機能はリソースファイルで利用可能です

機能はビルドスクリプトファイルで利用可能

この機能は SQL/NoSQL ファイルとインジェクションで利用可能です

ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。

2026 年 11 月 6 日