ReSharper 2020.2ヘルプ

コードの構文スタイル: 末尾のコンマ

複数の項目がコンマ(オブジェクト、配列、およびコレクション初期化子、列挙型およびswitch式)で区切られている場合、C#を使用すると、最後の項目の後にコンマを付けることができます。

var list = new List<string> { "one", "two" };
var list = new List<string> { "one", "two", // trailing commma };

一部の開発者は、末尾のカンマを冗長であると考えていますが、特に複数行の宣言では、いくつかのメリットがあります。

  • 最後の項目は常に別の1行であるため、追加または削除する方が簡単です。 Control+D を押して最後の行を複製することもできます。

  • リストの最後に新しい項目を追加すると、バージョン管理の差分が明確になります。

  • イニシャライザ用のコードジェネレータを作成する方が簡単です。

ReSharperは、既存のコードの末尾のコンマを配置するのに役立ち、コード補完およびコード生成機能を使用して新しいコードを生成し、コードテンプレートを適用し、リファクタリングを実行するときに設定を考慮します。

末尾のコンマを優先する

デフォルトでは、ReSharperは末尾のコンマを冗長として強調表示し、削除できます。

ReSharper syntax style inspection: Remove trailing comma

コードで末尾のコンマを使用したい場合は、対応する設定を変更できます。ReSharperを使用すると、不足している末尾のコンマを追加できます。

ReSharper syntax style inspection: Add trailing comma

バルクモードで末尾のコンマの設定を適用する別のオプションは、コードのクリーンアップです。以下のように、デフォルトのプロファイルフルクリーンアップまたは再フォーマットして構文スタイルを適用のいずれかを使用してコードのクリーンアップを実行するか、特定のタスクのみを対象としたカスタムプロファイルを作成して実行することができます。

カスタムコードクリーンアッププロファイルで末尾のカンマスタイルを適用する

  1. メインメニューからReSharper | オプションを選択するか、Alt+R Oを押します。

  2. クリーンアッププロファイル設定ページに移動します:コード編集 | コードのクリーンアップ | プロファイル

  3. 新しいカスタムクリーンアッププロファイルを作成するセクションの説明に従って、新しいプロファイルを作成します。新しいプロファイルの選択したプロファイル設定セクションで、末尾のコンマを配置するチェックボックスをオンにします。必要に応じて、このプロファイルで他のコードクリーンアップタスクを有効にすることができます。

  4. オプションダイアログで保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper設定の管理と共有を参照してください。

  5. 設定を適用する範囲を選択します。

    • ファイルの任意の場所にキャレットを設定して、ファイルの設定を強制します。

    • ソリューション・エクスプローラー内の1つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルに設定を適用します。

  6. 以下のいずれか 1 つを実行します:

    • Control+Alt+F を押すか、メインメニューからReSharper | 編集 | コードのクリーンアップ...を選択します。

    • テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューでコードのクリーンアップを選択します。

  7. 開いているコードクリーンアップダイアログで、新しく作成したプロファイルを選択します。

  8. 実行をクリックします。ReSharperは、選択した範囲であなたの設定を強制します。

コードクリーンアップダイアログを開かずに末尾のコンマを配置する場合は、デフォルトのコードの再フォーマットプロファイルをバインドして、作成したプロファイルをサイレントクリーンアップにバインドし、Control+Shift+Alt+Fを押して実行できます。末尾のコンマの配置を他のコードスタイルタスクと組み合わせるカスタムクリーンアッププロファイルを作成することもできます。

末尾のコンマの設定を構成する

末尾のカンマ設定は、レイヤーベースの設定のメカニズムを使用して保存されます。特に、このメカニズムを使用すると、さまざまなソリューションのさまざまな設定を維持したり、これらの設定をVCSで維持したり、チームメンバーと自動的に共有したりできます。

  1. ReSharperオプション(Alt+R O)のコード編集 | C# | 構文スタイルページに移動します。

  2. 末尾のコンマカテゴリーで、単一行または複数行の宣言で末尾のコンマを優先するかどうかを指定します。

  3. 右側の列の通知するセレクターを使用して、設定とは異なるコードインスペクション検出コードの重大度レベルを設定できます。

  4. オプションダイアログで保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper設定の管理と共有を参照してください。

異なる言語での適用性

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

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is not available in Visual Basic .NETFeature is not available in C++Feature is not available in HTMLFeature is not available in ASP.NETFeature is not available in RazorFeature is not available in JavaScriptFeature is not available in TypeScriptFeature is not available in CSSFeature is not available in XMLFeature is not available in XAMLFeature is not available in Resource filesFeature is not available in build script filesFeature is not available in ProtobufFeature is not available in JSON
最終更新日:

関連ページ:

行またはブロックの複製

ReSharper | 編集 | 重複するテキスト既存のコード要素(たとえば、新しいメソッドのオーバーロードや新しい自動実装プロパティ)に似たコード要素を作成する方法の1つは、コピーと貼り付けを使用して既存の要素を複製し、複製を編集することです。ReSharperを使用すると、複製部分を合理化できま...

コード生成

ReSharperは、定型コードを生成するさまざまな方法を提供します。例:宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のファイルで設計時コードインスペクションが有効になっている場合、ReSharperは足り...

コードインスペクション設定の構成

コード注釈を使用して、ReSharperがコードをインスペクションする方法をカスタマイズすることもできます。設計時コードインスペクションを構成する:デフォルトでは、ReSharperは、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効に...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

コードクリーンアップダイアログ

ReSharper | 編集 | コードのクリーンアップ...コードのクリーンアップダイアログでは、利用可能なコードクリーンアッププロファイルを使用して、選択したスコープ内のコードをクリーンアップしたり、カスタムクリーンアッププロファイルを作成および編集したりできます。このダイアログでクリーンアップ...

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

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