ReSharper 2021.1 ヘルプ

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

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

コンテキストに応じて、オプションの型指定は、冗長な情報でコードを乱雑にするか、逆に読みやすさを向上させる可能性があります。
したがって、ReSharper は、オブジェクト作成式に 2 つのコードスタイル設定を提供します。

  • 作成されたタイプが使用箇所から明らかな場合(たとえば、フィールドの初期化)

  • 作成されたタイプが明確でない場合(たとえば、return ステートメント)。

ReSharper は、既存のコードでオブジェクト作成式のスタイル設定を適用するのに役立ち、コード補完とコード生成機能を備えた新しいコードを生成し、コードテンプレートを適用し、リファクタリングを実行するときに設定を考慮に入れます。

オブジェクト作成式の設定を適用する

デフォルトでは、ReSharper は、明らかな場合に冗長としてタイプ仕様をハイライトし、削除できます。

ReSharper syntax style inspection: Use target-typed new

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

ReSharper syntax style inspection: Specify created type

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

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

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

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

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

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

  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 設定の管理と共有を参照してください。

異なる言語での適用性

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

関連ページ:

コード補完 (IntelliSense) | ReSharper

ReSharper は、高度な機能を備えた Visual Studio のネイティブコード補完(IntelliSense)を補完し、拡張します。例: あなたの入力に基づいて提案のリストを絞り込み、選択した型と拡張メソッドを自動的にインポートし、メソッド名を補完するときに括弧を追加し、型に応じて変数とフィールド名を提案するなど。ReSharper のコード補完の機能に慣れ親しむために、いくつかの実装の基本があります: デフォルトでは、ReSharper はネイティブ Visual Studio の...

コードインスペクション設定の構成 | 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...