コードの構文スタイル: 末尾のコンマ
複数の項目がコンマ(オブジェクト、配列、コレクション初期化子、列挙型および switch 式)で区切られている場合、C# を使用すると、最後の項目の 後にコンマを付けることができます。
var list = new List<string>
{
"one",
"two"
};
|
var list = new List<string>
{
"one",
"two", // trailing comma
};
|
ReSharper は既存のコードの末尾のコンマを整え、 コード補完や コード生成の機能で新しいコードを作成する際や、 コードテンプレートの適用、 リファクタリングの実行時に環境設定を考慮します。
末尾のコンマを優先する
デフォルトでは、ReSharper は末尾のコンマを冗長なものとしてハイライトし、削除をサポートします:

コードで末尾のコンマを優先する場合は、 対応する環境設定を変更することで、ReSharper は不足している末尾のコンマの追加をサポートします:

バルクモードで末尾のコンマに関する環境設定を適用する別のオプションは、 コードのクリーンアップです。 組み込みプロファイル フルクリーンアップまたは 再フォーマットして構文スタイルを適用のいずれかを使用して コードクリーンアップを実行するか、後述するように、特定のタスクのみを対象とした カスタムプロファイルを作成して実行することができます。
カスタムコードクリーンアッププロファイルで末尾のコンマスタイルを適用する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
新しいカスタムクリーンアッププロファイルを作成する セクションの説明に従って、新しいプロファイルを作成します。 右側のプロファイル設定で、 ノードを展開し、 末尾のコンマを配置する チェックボックスをオンにします。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
設定を適用する範囲を選択します。
ファイル内の任意の場所にキャレットを配置して、ファイルに設定を適用します。
ソリューションエクスプローラー 内の 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルに設定を適用します。
次のいずれかを実行します。
Control+Alt+F を押すか、メインメニューから を選択してください。
テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。
表示された コードのクリーンアップ ダイアログで、新しく作成したプロファイルを選択します。
実行 をクリックします。 ReSharper は、選択したスコープで環境設定を適用します。
コードのクリーンアップ ダイアログを開いてプロファイルを選択せずに末尾のコンマを整理したい場合は、作成したプロファイルを サイレントクリーンアップにバインドし、 Control+Shift+Alt+F を押して実行できます。 末尾のコンマの配置を他のコードスタイルタスクと組み合わせた カスタムクリーンアッププロファイルを作成することもできます。
末尾のコンマの環境設定を他のすべての フォーマットおよび 構文スタイルルールとあわせて選択したコードブロックに適用するには、 Alt+Enter を押して を選択します。
変更をファイルに保存するたびに末尾のコンマを配置して、編集内容が常にコードスタイルに準拠するようにすることができます。
変更を保存するときに末尾のコンマを自動的に配置する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
カスタムコードのクリーンアッププロファイルを選択し、 デフォルトに設定する をクリックします(デフォルトプロファイルは サイレントクリーンアップにも使用されます)。
オプションページに移動し、 ファイル保存時にクリーンアップを自動的に実行する を選択します。
オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。
ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。
ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。
部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更部分のみのクリーンアップができない場合は対象ファイルをスキップします。
共有ファイル保存時のクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。
ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
次回編集を終了してファイル( Ctrl+S )またはすべてのファイル( Ctrl+Shift+S )を保存すると、ReSharper は選択したプロファイルで対象ファイルをクリーンアップします。 デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルのいずれかを選択するよう促します。
末尾のコンマの設定を構成する
末尾のコンマ設定は、 レイヤーベースの設定のメカニズムを使用して保存されます。 このメカニズムにより、さまざまなソリューションに対して異なる設定を維持したり、これらの設定をバージョン管理システム (VCS) で管理したり、チームメンバーと自動的に共有したりすることが可能になります。
ReSharper オプションで設定を構成する
ReSharper オプション Alt+R、O の ページに移動します。
末尾のコンマ カテゴリで、単一行または複数行の宣言で末尾のコンマを優先するかどうかを指定します。
右側の列の 通知する セレクターを使って、環境設定と異なるコードを検出する 重要度レベルや コードインスペクションを設定できます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
構文スタイルの設定は、すべての言語では EditorConfig 、C++、JavaScript、TypeScript では Clang 形式で行うことができます。 これらの設定は、ソリューション階層の異なるレベルにある .editorconfig 、 .clang-format 、 _clang-format ファイルに保存できます。 これらのファイルは通常 VCS に配置され、そこで定義された設定がプロジェクトチーム間で共有されます。
ReSharper では、EditorConfig を使って ReSharper の オプション ダイアログで設定できる構文スタイルの環境設定を定義できます。 サポートされている EditorConfig プロパティの名前と説明は、 EditorConfig リファレンスにあります。
Clang-Format については、ReSharper では サポートされている Clang-Format オプションのみ適用します。
.editorconfig ファイルで定義された構文スタイルプロパティは、この .editorconfig ファイルが適用されるスコープ内で ReSharper 設定で定義された同じプロパティをオーバーライドする点にご注意ください。 Clang-Format で定義されたフォーマットプロパティは、ReSharper 設定と EditorConfig 設定の両方をオーバーライドします。
EditorConfig を使用して末尾のコンマスタイルの設定を構成する
目的の .editorconfig ファイルを開きます。
必要な 末尾のコンマスタイルのプロパティをファイルに追加します。 たとえば、次のようになります。
trailing_comma_in_multiline_lists = false
異なる言語での適用性
この機能は、次の言語とテクノロジーで サポートされています。