ReSharper 2021.1 ヘルプ

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

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

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

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

  • 最後の項目は常に別の 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 設定の管理と共有を参照してください。

異なる言語での適用性

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

関連ページ:

行または選択範囲の複製 | ReSharper

既存のコード要素(たとえば、新しいメソッドのオーバーロードや新しい自動実装プロパティ)に似たコード要素を作成する方法の 1 つは、コピーと貼り付けを使用して既存の要素を複製し、複製を編集することです。ReSharper を使用すると、複製部分を合理化できます。単一のキーストロークで、複製されたコードが元のコードの直後に挿入されます。現在の行または選択範囲をすばやく複製する行を複製する場合は、この行にキャレットを設定します。任意のコードを複製するには、エディターでそのコードを選択します。論理コー...

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

設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...

ReSharper 設定の管理と共有 | ReSharper

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

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

コードのクリーンアップダイアログでは、利用可能なコードクリーンアッププロファイルを使用して、選択したスコープ内のコードをクリーンアップしたり、カスタムクリーンアッププロファイルを作成および編集したりできます。このダイアログでクリーンアッププロファイルを作成または変更する場合、変更はスマート保存ロジックを使用して保存されることに注意してください。変更を共有設定レイヤーに保存する必要がある場合は、ReSharper オプションのページで変更を行い、次へ保存をクリックしてから、目的の設定レイヤーを選択...

ASP.NET MVC 特有の機能 | ReSharper

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...

言語による ReSharper: MS ビルド | ReSharper

MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...