JetBrains Rider 2024.1 ヘルプ

コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」)

C# 9.0 以降、型を推測できる場合は、明示的な型指定なしで、ターゲット型の new 演算子を使用してオブジェクトを作成できます。つまり、List<string> _myList = new List<string>(); ではなく List<string> _myList = new(); です。

コンテキストに応じて、オプションの型指定は、冗長な情報でコードを乱雑にするか、逆に読みやすさを向上させる可能性があります。

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 syntax style inspection: Use target-typed new

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

JetBrains Rider syntax style inspection: Specify created type

コード内の new 演算子に別のスタイルを使用する場合は、対応する設定を変更できます。

バルクモードでオブジェクト作成式の設定を適用するもう 1 つのオプションは、コードのクリーンアップです。組み込みプロファイルフルクリーンアップまたは再フォーマットして構文スタイルを適用のいずれかを使用してコードクリーンアップ実行するか、以下で説明するように、特定のタスクのみを対象としたカスタムプロファイルを作成して実行できます。

カスタムコードクリーンアッププロファイルを使用してオブジェクト作成スタイルを適用する

  1. Ctrl+Alt+S を押すか、メニューからファイル | 設定(Windows および Linux)または JetBrains Rider | 環境設定 (macOS) を選択します。

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

  3. 新しいカスタムクリーンアッププロファイルを作成するセクションの説明に従って、新しいプロファイルを作成します。新しいプロファイルの選択したプロファイル設定セクションで、オブジェクト作成スタイルを適用します(「new()」と「新しい T()」)チェックボックスをオンにします。必要に応じて、このプロファイルで他のコードクリーンアップタスクを有効にすることができます。

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

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

    • ファイル内の任意の場所にキャレットを配置して、ファイルに設定を適用します。

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

  6. Ctrl+R, C を押すか、メインメニューからコード | 再フォーマットとクリーンアップ…を選択します。

  7. 開いたコードの再フォーマットとクリーンアップダイアログで、新しく作成したプロファイルを選択し、必要に応じて別のスコープを選択します。

  8. OK をクリックします。JetBrains Rider は選択した範囲内であなたの設定を強制します。

Reformat and Cleanup Code ダイアログを開いてプロファイルを選択せずに、オブジェクト作成式のスタイル設定を適用する場合は、作成したプロファイルをサイレントクリーンアップにバインドし、Ctrl+R, G を押して実行できます。また、オブジェクト作成式の配置と他のコードスタイルタスクを組み合わせたカスタムクリーンアッププロファイルを作成することもできます。

選択したコードブロック Alt+Enter に、他のすべてのフォーマットおよび構文スタイルの規則とともにオブジェクト作成式の設定を適用するには、再フォーマットとクリーンアップ | 構文スタイルを再フォーマットして適用するを選択します。

最近変更して Git にコミットしようとしているコードで、オブジェクト作成式のスタイル設定を適用できます。JetBrains Rider は、コミットする前に、選択したクリーンアッププロファイルを実行します。

Git にコミットする前にコードをクリーンアップする

  1. Ctrl+K を押すか、メインメニューから Git | コミットを選択します。

  2. コミットツールウィンドウで Show Commit Options をクリックし、コミットチェック領域でクリーンアップ ... チェックボックスを選択します。

  3. プロファイルの選択をクリックして、カスタムコードクリーンアッププロファイルを選択します。

  4. コミットまたはコミットとプッシュをクリックします。JetBrains Rider は、コミット用にステージングされたファイルでコードのクリーンアップを実行し、変更をコミットします。

変更をファイルに保存するたびにオブジェクト作成式のスタイル設定を適用して、編集が常にコードスタイルに準拠するようにすることができます。これは、変更を Ctrl+S または Ctrl+S で明示的に保存した場合にのみ発生し、auto-saving によってトリガーされないことに注意してください。ただし、自動保存されたすべてのファイルは「再フォーマットおよびクリーンアップ」キューに配置され、次の明示的な保存で処理されます。

変更を保存するときに、オブジェクト作成式のスタイル設定を自動的に適用する

  1. Ctrl+Alt+S を押して設定を開き、ツール | 保存時のアクションを選択します。

  2. コードの再フォーマットとクリーンアップを選択し、カスタムコードクリーンアッププロファイルを選択して、それをファイル全体に適用するか、変更された行のみに適用するかを選択します。

  3. 次に編集を終了してファイルまたはすべてのファイルを保存すると、JetBrains Rider は選択されたプロファイルを使用して影響を受けるファイルをクリーンアップします。

オブジェクト作成式の環境設定を構成する

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

  1. JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# ページに移動し、構文スタイルタブを選択します。

  2. オブジェクトの作成カテゴリで、作成されたタイプが使用箇所から明らか / 非明白である場合にタイプ指定を優先するかどうかを指定します。

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

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

関連ページ:

コード補完 (IntelliSense)

JetBrains Rider のコード補完機能に慣れ親しむために、実装の基礎をいくつか紹介します。新しい識別子の入力を開始するとすぐに、自動補完の候補リストが表示されます。を押すと、基本補完の候補リストが表示されます。他の 2 つの補完コマンド、型一致補完および第 2 基本補完は、高度なアルゴリズムを適用して、候補リストにさらに項目を追加します。AI Assistant を有効にしている場合は、周囲のコンテキストに基づいてコードブロック全体を作成できる AI を搭載したコード補完を利用できます。...

コード生成

JetBrains Rider は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のファイルで設計時コードインスペクションが有効になっている場合、JetBrains Rider は足りないメンバーを検出し、足りないメンバーを実装するために対応するクイックフィックスを提案します。コンテキストアクションとコードテンプレートを使用すると、コードを生成するその...

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...

レイヤーベースの設定

Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...

構文スタイル

コードスタイルの側面の 1 つは、互換性のある言語構文構造を使用する方法です。例: 以下の 2 つのメソッド定義は、コンパイラーの観点からは同じですが、構文構造の選択により、それらは異なって見えます。[Conditional("DEBUG")] [Test] static public void Foo(String str) { foreach (Char ch in str) { System.Console.WriteLine(value: ch); } }[Test, Condition...

コードインスペクション

JetBrains Rider は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション JetBrains Rider が提供するコードの種類を調べるには、異なる言語の JetBrains Rider コードインスペクションの全リストをご覧ください。コードイ...