コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」)
C# 9.0 以降、型が推論できる場合は、明示的な型指定なしでターゲット型付き new 演算子を使ってオブジェクトを作成できます。つまり、 List<string> _myList = new(); の代わりに List<string> _myList = new List<string>(); を使います。
コンテキストに応じて、オプションの型指定は、冗長な情報でコードを乱雑にするか、逆に読みやすさを向上させる可能性があります。
したがって、JetBrains Rider はオブジェクト作成式に対して 2 つのコードスタイル環境設定を提供します:
次の場合のように、作成された型が使用箇所から明らかな場合:
フィールド / 定数 / プロパティ / イベントの初期化子
private Test field = new()明示的な型が優先される場合のローカル変数の初期化子
Test local = new()式本体のメンバーの戻り値
public List <Test> M() => new()配列初期化子
new Test[] { new(), new() }内の値コレクション初期化子
new List <Test> { new(), new() }内の値デフォルトのパラメーター値
void M(TestStruct arg = new()) { }
作成された型が明らかでない場合 (たとえば、return ステートメント内)。
JetBrains Rider は、既存のコードでオブジェクト作成式のスタイル環境設定を適用するのをサポートし、 コード補完や コード生成機能で新しいコードを生成する際にも環境設定を考慮します。また、 コードテンプレートの適用や リファクタリングの実行時にも反映されます。
オブジェクト作成式の設定を適用する
デフォルトでは、JetBrains Rider は明らかな場合に型指定を冗長としてハイライトし、削除を支援します:

一方、明らかでない場合には、JetBrains Rider は作成される型を明示的に指定することを提案します:

コード内の new 演算子に別のスタイルを使用する場合は、 対応する設定を変更できます。
バルクモードでオブジェクト作成式の環境設定を適用する別の方法は、 コードのクリーンアップです。 組み込みプロファイル フルクリーンアップまたは 再フォーマットして構文スタイルを適用のいずれかを使用して コードクリーンアップを実行するか、後述するように、特定のタスクのみを対象とした カスタムプロファイルを作成して実行することができます。
カスタムコードクリーンアッププロファイルを使用してオブジェクト作成スタイルを適用する
Ctrl+Alt+S を押すか、メニューから (Windows および Linux) または (macOS) を選択します。
クリーンアッププロファイル設定ページに移動します: 。
新しいカスタムクリーンアッププロファイルを作成する セクションの説明に従って、新しいプロファイルを作成します。 右側のプロファイル設定で、 ノードを展開し、 オブジェクト作成スタイルを適用します(「new()」と「新しい T()」) チェックボックスをオンにします。
設定 ダイアログで 保存 をクリックして変更を適用し、JetBrains Rider が保存先を選択できるようにするか、 保存 セレクターからレイヤーを選んで特定の設定レイヤーに変更を保存します。 詳細については、「レイヤーベースの設定 」を参照してください。
設定を適用する範囲を選択します。
ファイル内の任意の場所にキャレットを配置して、ファイルに設定を適用します。
ソリューションエクスプローラー 内の 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルに設定を適用します。
Ctrl+R, C を押すか、メインメニューから を選択してください。
表示された 整形とクリーンアップ ダイアログで、新しく作成したプロファイルを選択し、必要なら別のスコープを選択してください。 。
OK をクリックします。 JetBrains Rider は選択したスコープ内で環境設定を適用します。
整形とクリーンアップ ダイアログを開いてプロファイルを選択せずにオブジェクト作成式のスタイル環境設定を適用したい場合は、作成したプロファイルを サイレントクリーンアップにバインドし、 Ctrl+R, G を押して実行できます。 また、オブジェクト作成式の配置と他のコードスタイルタスクを組み合わせた カスタムクリーンアッププロファイルを作成することもできます。
選択したコードブロックにオブジェクト作成式の環境設定を、他のすべての フォーマットや 構文スタイルのルールと一緒に適用するには、 Alt+Enter を実行して を選択します。
最近変更して Git にコミットしようとしているコードで、オブジェクト作成式のスタイル設定を適用できます。 JetBrains Rider は、コミットする前に選択した クリーンアッププロファイルを実行します。
Git にコミットする前にコードをクリーンアップする
Ctrl+K を押すか、メインメニューから を選択します。
コミット ツールウィンドウで
をクリックし、 コミットチェック 領域で クリーンアップ ... チェックボックスを選択します。
プロファイルを選択 をクリックして、カスタムコードクリーンアッププロファイルを選択します。
コミット または コミットとプッシュ をクリックします。 JetBrains Rider はコミット用にステージングされたファイルでコードのクリーンアップを実行し、その後変更をコミットします。
変更をファイルに保存するたびにオブジェクト作成式のスタイル設定を適用して、編集が常にコードスタイルに準拠するようにすることができます。 ただし、これは Ctrl+S または Ctrl+S を使用して明示的に変更を保存した場合にのみ適用され、 auto-saving ではトリガーされません。 なお、自動保存されたファイルはすべて「再フォーマットとクリーンアップ」キューに配置され、次回の明示的な保存時に処理されます。
変更を保存するときに、オブジェクト作成式のスタイル設定を自動的に適用する
Ctrl+Alt+S を押して設定を開き、 を選択します。
整形とクリーンアップ を選択し、カスタムコードクリーンアッププロファイルを選択して、それをファイル全体に適用するか、変更された行のみに適用するかを選択します。
次回、編集を終えてファイルまたはすべてのファイルを保存すると、JetBrains Rider は選択したプロファイルを使って対象ファイルをクリーンアップします。
オブジェクト作成式の環境設定を構成する
オブジェクト作成式の環境設定は、 レイヤーベース設定のメカニズムで保存されます。 このメカニズムにより、さまざまなソリューションに対して異なる設定を維持したり、これらの設定をバージョン管理システム (VCS) で管理したり、チームメンバーと自動的に共有したりすることが可能になります。
JetBrains Rider 設定で設定を構成する
JetBrains Rider 設定 Ctrl+Alt+S の ページに移動し、 構文スタイル タブを選択します。
オブジェクトの作成 カテゴリで、作成されたタイプが使用箇所から明らか / 非明白である場合にタイプ指定を優先するかどうかを指定します。
右列のセレクターを使うと、環境設定と異なるコードを検出する コードインスペクションの 重要度レベルを設定できます。
設定 ダイアログで 保存 をクリックして変更を適用し、JetBrains Rider が保存先を選択できるようにするか、 保存 セレクターからレイヤーを選んで特定の設定レイヤーに変更を保存します。 詳細については、「レイヤーベースの設定 」を参照してください。
EditorConfig を介して構文スタイルの設定を行うことができます。 これらの設定は、ソリューション階層の異なるレベルの .editorconfig ファイルに保存できます。 これらのファイルは通常、VCS に配置され、そこで定義された設定がプロジェクトチーム間で共有されます。
JetBrains Rider では、EditorConfig を使用して、JetBrains Rider の 設定 ダイアログで利用可能な構文スタイル環境設定を定義できます。 サポートされている EditorConfig プロパティの名前と説明は、 EditorConfig リファレンスにあります。
.editorconfig ファイルで定義された構文スタイルプロパティは、この .editorconfig ファイルが適用されるスコープ内で、JetBrains Rider 設定で定義された同じプロパティをオーバーライドすることに注意することが重要です。
EditorConfig を使用してオブジェクト作成スタイルの設定を構成する
目的の .editorconfig ファイルを開きます。
必要な オブジェクト作成スタイルのプロパティをファイルに追加します。 例えば:
object_creation_when_type_evident = explicitly_typed