ReSharper 2026.1 Help

構文スタイル

ReSharper オプション: コード編集 | C# | 構文スタイル

このページで設定可能な環境設定は、 コード構文スタイル 、つまり言語構文の使い分けを統一するのに役立ちます。 これらの環境設定は、ReSharper が コード補完コード生成機能で新しいコードを生成したり、 コードテンプレートを適用したり、 リファクタリングを実行したりする時に考慮されます。 また、対応する設定で コードのクリーンアップを使い既存のコードに適用することもできます。

通知する セレクターの設定には、対応するコードインスペクションがあり、インスペクションされたスコープの構文スタイルのこの側面が優先スタイルと異なる場合に通知します。 セレクターを使用して、インスペクションの 重大度レベルを構成できます。

完了時に構文スタイルを適用する

このチェックボックスを使用して、 コード補完提案を受け入れるときに構成済みの構文スタイルを適用します。

宣言における 'var' の使用箇所

このセクションの設定では、 暗黙的に型指定されたローカル変数var キーワードとも呼ばれます)の使用方法を定義します。

タイプごとに 'var' または明示的なタイプを使用する異なる設定を設定できます。

  • 組み込み型の場合C# ビルトインタイプに適用されます。

  • 単純型の場合 — ジェネリクスパラメーターのない型に適用されます。

  • 他の場所 — ジェネリクス型と脱構築宣言に適用されます。

これらの設定ごとに、「var」、明示的なタイプ、 明らかなときに 'var' の使用を選択できます。

詳細については、 コードの構文スタイル: 暗黙的 / 明示的な型指定 ('var' キーワード) を参照してください。

型の証拠には Roslyn(Visual Studio)ロジックを優先する

「var」キーワードと明示的なタイプを使用する 設定を構成する場合、 明確な場合は 'var' を使用する を選択できます。 このオプションは自明のように見えますが、場合によっては「明らか」と見なされるものとそうではないものが不明な場合があります。

それとは別に、両製品が「var」キーワードや明示的な型の使用を提案する際、ReSharper と Visual Studio が「明白(明白)」と見なす基準にはいくつか違いがあります。

このチェックボックスを使用して、上記のオプションで 明確な場合は 'var' を使用する が選択されたときに「var」または明示的なタイプを提案する Visual Studio ロジックを適用します。

ReSharper と Visual Studio のロジックの違いについては、 明確な場合は 'var' を使用する: 明らかと考えられるものは何ですか? をご参照ください。

このオプションは、 EditorConfigcsharp_style_var_when_type_is_apparent プロパティtrue に設定され、何らかの重大度レベルを持つ場合に自動的に有効になります。 例: csharp_style_var_when_type_is_apparent = true:warning

分解した変数は個別に宣言することを推奨します。

デフォルトでは、ReSharper は、 分解宣言で複数の var に対して結合表記法を提案します。例えば var (x, y) = GetTuple(); です。 分解した変数は個別に宣言することを推奨します。 とを選択して、 (var x, var y) = GetTuple(); などの個別の表記を選択できます。

破棄には 'var' キーワードを使用する

デフォルトでは、ReSharper は 破棄用に単独の _ の使用を提案します。例えば (_, _) = (0, 1); です。 破棄には 'var' キーワードを使用する を選択して、必要に応じて破棄を伴う var を常に使用することで、 _ という名前のスコープ内の変数との競合がないことを確認できます。

インスタンスメンバーの資格

このセクションの設定では、'this' 修飾子の使用方法を定義します。 詳細については、 コードの構文スタイル: オプションのメンバー限定子 を参照してください。

静的メンバー資格

このセクションの設定では、静的メンバーを修飾する方法を定義します。 詳細については、 コードの構文スタイル: オプションのメンバー限定子 を参照してください。

組み込み型

このセクションの環境設定では、 C# の組み込み型を参照する方法を定義します。C# キーワードまたは CLR 型名のどちらかを使用できます。 詳細については、 コードの構文スタイル: 組み込み型参照 を参照してください。

参照修飾および 'using' ディレクティブ

このセクションの設定は、 名前空間インポートのスタイルを定義します

  • 完全修飾参照を推奨する — インポートされたタイプに名前空間インポートディレクティブではなく完全修飾名を使用する場合は、このチェックボックスを選択します。

  • 最も深いスコープに using ディレクティブを追加する — このチェックボックスが選択されている場合、名前空間のインポートディレクティブはその型が使用される名前空間の中に追加されます。未選択の場合は、ファイルの先頭にインポートディレクティブが追加されます。

  • 'using' ディレクティブをソートする際に 'System.*' および 'Windows.*' の名前空間を最初に配置する。 — このチェックボックスを選択すると、 using System.Linq; などの 'using' ディレクティブは、ソート時に他の using ディレクティブの上に配置されます。 それ以外の場合、これらのディレクティブは他のディレクティブとアルファベット順にソートされます。

  • ネストしたスコープでは完全修飾の using 名を推奨する。 — このチェックボックスが選択されている場合、インポートされた型の完全修飾名がネストされた型と名前空間で優先されます。

  • エイリアスディレクティブの使用を許可 — このチェックボックスを選択すると、完全修飾名前空間名ではなく、名前空間インポートディレクティブでエイリアスを使用できます。

  • 'global ::' 接頭辞を許可する — このチェックボックスが選択されている場合、 global:: 接頭辞は global::System.String と同様に削除されません。 詳細については、「:: オペレーター - 名前空間のエイリアス演算子 」を参照してください。

ReSharper オプションの コード編集 | C# | 名前空間のインポート ページで、名前空間インポートに関する他のさまざまなオプションも設定できます。

修飾子

このセクションの設定では、型とメンバーの修飾子を配置する方法を定義します。 詳細については、 コードの構文スタイル: 修飾子 を参照してください。

引数

このセクションの環境設定では、特定の種類のパラメーターに対して名前付き引数または位置引数を適用する方法を定義できます。 詳細については、 コードの構文スタイル: 名前付き / 位置引数 を参照してください。

丸括弧

このセクションの環境設定では、演算の優先順位を明確にするのに役立つ場合に、オプションの括弧をいつ削除または追加するかを定義できます。 詳細については、 コードの構文スタイル: オプションの括弧 を参照してください。

波括弧

このセクションの設定では、単一のネストされたステートメントに中括弧が必要なステートメントを定義できます。 詳細については、 コードの構文スタイル: 1 つのネストされた文に対する波括弧 を参照してください。

コード本体

このセクションの設定では、どの種類のメンバーを式本体で宣言し、どの種類のメンバーをブロック本体で宣言するかを定義できます。 詳細については、 式に基づく関数の設定を構成する を参照してください。

デフォルトでは、ReSharper はヒューリスティックを適用して、メソッドのブロック本体を式本体に変換するかどうかを判断します。 とりわけ、これは、ReSharper が void メソッドおよびラムダ式を含むメソッドの式本体を提案しないことを意味します。

スタイルヒューリスティックを適用する チェックボックスをオフにすることで、このロジックを簡素化できます。 この場合、ロジックは単純です。ある種類のメンバーで式本体を使うことを選択した場合、ReSharper はその種類のメンバーの宣言がステートメント 1 つで構成されていれば式本体を提案します。

名前空間 オプションを使用すると、単一の名前空間宣言を含むファイルで ファイルスコープの名前空間を使用するかどうかを選択できます。

属性

このセクションの設定では、複数の属性を配置する方法を定義します。 詳細については、 コードの構文スタイル: 複数の属性 を参照してください。

末尾のコンマ

このセクションの設定では、複数の項目や同様の構成要素 (オブジェクト、配列、コレクションの初期化子、列挙型、switch 式) を含む宣言内の末尾のコンマの処理方法を定義します。 詳細については、 コードの構文スタイル: 末尾のコンマ を参照してください。

オブジェクトの作成

このセクションの設定では、 new 演算子を使用して新しいオブジェクトを作成するときに、オプションの型指定を追加するかどうかを定義します。 詳細については、 コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」) を参照してください。

デフォルト値

このセクションの設定では、 default 式でオプションの型指定 (T) を使用するかどうかを定義します。 詳細については、 コードの構文スタイル: デフォルト値の式('default' と 'default(T)') を参照してください。

パターン

このセクションの Null チェックパターンスタイル は、 パターンマッチング式: { } または not null 式内の null チェックのスタイルを定義します。 詳細については、「コードの構文スタイル: null チェックパターン 」を参照してください。

ソリューションに影響を与える .editorconfig ファイルがある場合、このページ の環境設定は EditorConfig スタイル によってオーバーライドされることがあります。 ページ上の少なくとも 1 つの設定が現在のファイルの EditorConfig または Clang-Format スタイルによって上書きされる場合、黄色の警告が表示され、上書きされた各設定も黄色でハイライトされます。 たとえば、次のようになります。

EditorConfig スタイルによってオーバーライドされたコードスタイルオプション

エディターからのコード構文スタイルの変更

スタイル違反がハイライトされている Alt+Enter を押すことにより、エディターで特定の構文スタイル設定を変更することもできます。 例: 単純型の 宣言における 'var' の使用箇所の設定を変更できます。

'var' キーワードのコードスタイル設定の変更

... および対応するインスペクションの 重大度レベル

インスペクション重大度の変更

エディターから設定を変更すると、 スマート保存ロジックを使用して変更が保存されることに注意してください。

2026 年 6 月 12 日