ReSharper 2019.1ヘルプ

EditorConfigの使用

ReSharperは、EditorConfig(英語)形式で定義されているコードフォーマットスタイルコード構文スタイル、およびコードインスペクションの重大度をサポートしています。

Matthellは、ReSharperがEditorConfigを使用して書式設定ルールの設定全体をどのように維持するのをヘルプいるかを示しています。

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

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

EditorConfigの規則が示すように、ReSharperは現在のファイルのディレクトリーとそのすべての親ディレクトリーにある .editorconfig という名前のファイルで定義されているコードスタイルを、ルートファイルパスに達するか root=trueでEditorConfigファイルが見つかるまで適用します。 .editorconfig ファイルで指定されたファイルマスク、たとえば *Test.cs も考慮されています。

ReSharperは最もよく使われる.NET-coding-convention EditorConfigプロパティーである標準の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 # 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=do not show

ソリューションのEditorConfig

デフォルトでは、EditorConfigプロパティーはコードの書式設定スタイルおよびコードの構文スタイルに対して有効になり、コードのインスペクション重大度に対して無効になります。それらはReSharperおよびVisual Studioオプションで定義された設定をオーバーライドします。ReSharperがコードフォーマットとコード構文のEditorConfigスタイルを無視するようにしたい場合は、ReSharperオプションのコード編集 | 一般的なフォーマッタスタイルページの対応するチェックボックスをクリアしてください。

EditorConfigからコードインスペクションを設定するには、ReSharperオプションのコード・インスペクション | 設定ページでeditorconfigから設定を読み込みます...チェックボックスを選択する必要があります。

EditorConfigサポートが有効で、現在のファイルに影響する .editorconfig ファイルがある場合、ReSharperはどのEditorConfigスタイルが適用されているか、これらの設定がどこから来るのかを理解できます:

  • ReSharperのコードスタイルと書式設定オプションページでは、現在のファイルのEditorConfigスタイルによってページの少なくとも1つの設定がオーバーライドされている場合は黄色の警告が表示され、上書きされた各設定も黄色で強調表示されます: たとえば:

    Code formatting options overridden by EditorConfig styles

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

    ReSharper. File Formatting Info window

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

C#、C++、JavaScript、TypeScript、HTML、Protobufでは、disable_formatter=trueを持つEditorConfigマスクを使用してReSharperフォーマッタを無効にすることができます。

標準EditorConfigプロパティーのサポートノート

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

  • indent_size
  • indent_style
  • tab_width
  • max_line_length
  • insert_final_newline

ReSharperのカスタムEditorConfigプロパティーの中には、特定の言語の標準プロパティーを上書きするプロパティーがあります。例: indent_size プロパティーをcsharp_indent_sizeおよびjs_indent_sizeプロパティーでオーバーライドすることで、C#とJavaScriptで意図サイズを変えることができます。

.NET-coding-conventionプロパティーサポートメモ

2019.1の時点で、ReSharperは.NETコーディング規則(英語)のために最も頻繁に使われるEditorConfigプロパティーをサポートします:

  • フォーマット規則(英語)に関する以下のプロパティー。
    • csharp_new_line_before_open_brace
    • csharp_new_line_before_else
    • csharp_new_line_before_catch
    • csharp_new_line_before_finally
    • csharp_new_line_before_members_in_object_initializers
    • csharp_indent_switch_labels
    • csharp_space_after_cast
    • csharp_space_after_keywords_in_control_flow_statements
    • csharp_space_between_method_declaration_parameter_list_parentheses
    • csharp_space_between_method_call_parameter_list_parentheses
    • csharp_space_between_parentheses
    • csharp_preserve_single_line_blocks
  • 言語規約(英語)のための以下のプロパティー:
    • dotnet_style_qualification_for_field
    • dotnet_style_qualification_for_property
    • dotnet_style_qualification_for_method
    • dotnet_style_qualification_for_event
    • dotnet_style_predefined_type_for_locals_parameters_members
    • dotnet_style_predefined_type_for_member_access
    • dotnet_style_require_accessibility_modifiers
    • csharp_preferred_modifier_order
    • csharp_style_var_for_built_in_types
    • csharp_style_var_when_type_is_apparent
    • csharp_style_var_elsewhere
    • csharp_style_expression_bodied_constructors
    • csharp_style_expression_bodied_methods
    • csharp_style_expression_bodied_properties
    • csharp_style_expression_bodied_accessors
    • csharp_prefer_braces

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

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is available

C#の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語別ReSharperの対応するトピックを参照してください。

最終更新日: 2019年6月7日

関連事項

関連ページ:

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

ReSharper | Windows | ファイルフォーマット情報このウィンドウでは、現在開いているファイルの書式スタイル設定について説明します。字下げの原因とその価値、インデント設定の自動検出のステータス。現在のファイルに影響するEditorConfigサポートとすべての.editorconfi...

コードの書式設定と再フォーマット

コードスタイルの重要な側面は、コードをどのように整形するか、すなわち、空白と空白を使用してコードブロックを整理し分割する方法、インデント用のタブを使用するかどうか、使用方法、長い行を折り返すかどうかなどです。多数のReSharperコードフォーマットルールには、デフォルトのVisual Studio...

構文スタイル

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

コード・インスペクション

ReSharperはすべてのサポートされている言語で2500コードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルで設計時にコードの問題を検出して強調表示するため、および/または特定の範囲内ですべてのコードの問題を見つけるために使用されます。エディターで強調表示さ...

ASP.NET MVC特有の機能

ReSharperには、一般的なASP.NET機能に加えて、ASP.NET MVCでの作業をより簡単にサポートする特殊機能があります。構文の強調表示:ASP.NET MVCメソッドの呼び出しとパラメータに対する特別な構文の強調表示コード補完:文字列リテラルでアクションとコントローラーを参照するための...

言語別ReSharper: MSビルド

MSBuildは、アプリケーションを構築するために広く使用されているプラットフォームです。特定のXMLタグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharperを使用すると、より速く行うことができます。必要に応じて、ReSharperオプションの環境 | 製品&特徴ペ...