ReSharper 2018.2ヘルプ

コードの構文スタイル: 暗黙的/明示的な型指定( 'var'キーワード)

C# 3.0で導入された暗黙的に型付けされたローカル変数(英語)var キーワードとも呼ばれる)を使用することは、多くのシナリオで可読性を向上させるため、非常に人気があります。デフォルトでは、ReSharperは var キーワードの使用を推奨しますが、その使用方法の選択肢は柔軟に構成可能なです。たとえば、特定のケースやあらゆる場所で明示的なタイプを使用することができます。ReSharperは、好みを強制するのに役立ちます。

C# 7.0からは、タプルを解体する(英語)のときにローカル変数を宣言できます。そのような宣言で var を使用する場合は、 var (x, y) = GetTuple();(var x, var y) = GetTuple();などの結合表記や区切り表記を使用するようにスタイルを設定することもできます。

もう1つのC# 7.0の機能は破棄(英語)で、 var を使用して、 _という名前のスコープ内の変数との競合がないことを確認することもできます。 ReSharperでは、 var を常に適切に廃棄するスタイルを設定することができます。

'var'キーワードの使用の設定を強制する

ReSharperはすべてのローカル変数を設定に準拠しているかどうかチェックし、設定に準拠していない場合、ReSharper ハイライトはそのような宣言を行い、対応するquick-fixまたは範囲内で修正するを提案します。

デフォルトでは、ReSharperの設定では、 'var'キーワードが優先されます:

'Var' usage quick-fix
設定を変更した場合、ReSharperは明示的な型を使用するのに役立ちます:
'Var' usage quick-fix

バルクモードで 'var'キーワードの使用を優先させる別のオプションはコードのクリーンアップです。既定のプロファイルデフォルト: フルクリーンアップを使用してコードのクリーンアップを実行するを実行するか、後述のように特定のタスクのみを対象とするカスタムプロファイルを使用してクリーンアップを実行します。

カスタムコードクリーンアッププロファイルで 'var'キーワードを使用する設定を適用するには

  1. メインメニューでReSharper | オプションを選択します。

  2. コードクリーンアップの設定ページコード編集 | コードのクリーンアップに移動します。

  3. 新しいカスタムクリーンアッププロファイルを作成するにはセクションの説明に従って、新しいプロファイルを作成します。新しいプロファイルの選択したプロファイル設定セクションで、'var'キーワードの使用設定を強制するチェックボックスをオンにします。必要に応じて、このプロファイルで他のコードクリーンアップタスクを有効にすることができます。

  4. 保存をクリックして変更を適用し、ReSharperに保存先を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細は、resharper設定の管理と共有を参照してください。

  5. 設定を適用する範囲を選択します。
    • ファイルの任意の場所にキャレットを設定して、ファイルの設定を強制します。

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

  6. 以下のいずれか 1 つを実行します
    • Ctrl+Alt+F を押すか、メインメニューからReSharper | 編集 | クリーンアップコードを選択してください。

    • テキストエディタの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューでクリーンアップコードを選択します。

  7. 開いているコードクリーンアップダイアログで、新しく作成したプロファイルを選択します。

  8. 実行をクリックします。 ReSharperは、選択した範囲であなたの設定を強制します。

コードクリーンアップダイアログを開かずに 'var'キーワードの使用設定を行う場合は、作成したプロファイルをサイレントクリーンアップにバインドし、 Ctrl+Shift+Alt+Fを押すだけで実行できます。他のコードスタイルのタスクと環境設定を組み合わせるカスタムクリーンアッププロファイルを作成することもできます。

'var'キーワードの設定の設定

'var'キーワードの使用設定は、レイヤーベースの設定の仕組みを使って保存されます。とりわけ、このメカニズムにより、さまざまなソリューションのさまざまな設定を維持したり、これらの設定をVCSの下に保持したり、チームメンバーと自動的に共有することができます。

'var'キーワードを使用する設定を行うには

  1. ReSharperオプションのコード編集 | C# | コード・スタイルページに移動します。

  2. 宣言における 'var'の使用箇所カテゴリの設定を、コーディングのプラクティス/標準に従って変更します。さまざまなタイプの 'var'または明示的なタイプを使用するためのさまざまな設定を設定できます。
    • ビルトインタイプの場合C#ビルトインタイプ(英語)に適用されます。

    • 単純型の場合—汎用パラメータのない型に適用されます。

    • 他の場所—ジェネリック型と分解解除宣言に適用されます。

    これらの設定のそれぞれに対して、 'var'、明示的な型、または明らかなときに 'var'を使用することができます。つまり、オブジェクト、配列、リテラルまたは明示的なキャストの作成として初期化された変数に対してのみ 'var'を使用する必要があります。
  3. デフォルトでは、ReSharperは脱構築宣言(英語)の複数の varの結合表記を提案します。 var (x, y) = GetTuple();展開された変数の宣言を別にすることを選択すると、別の表記を選択できます。 (var x, var y) = GetTuple();

  4. また、廃棄には 'var'キーワードを使用するを選択して var を常に破棄(英語)と共に使用して、 _という名前のスコープ内の変数との競合がないようにすることもできます。

  5. 右側の列の通知するセレクタを使用すると、好みと異なるコード・インスペクション検出コードの重大度を設定できます。

  6. 保存をクリックして変更を適用し、ReSharperに保存先を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細は、resharper設定の管理と共有を参照してください。

また、エディタで 'var'キーワードを使用することの好みを変更することもできます: 該当する問題が強調表示されます:

エディタから 'var'キーワードを使用する設定を変更するには

  1. ReSharperのインスペクションによって強調表示されたコードの問題にキャレットを設定します。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケータをクリックしてアクションリストを開きます。

  3. アクションリストで、インスペクション "好みの 'var'スタイル" | コードスタイルを設定するに移動して、希望の設定を選択します。

    Changing code style preference for 'var' keyword

  4. 変更はスマートセーブロジックを使用して保存されます。

  5. 変更したスタイルの設定を共有設定レイヤーに保存する必要がある場合は、コードスタイルを設定するメニュー項目をクリックするか、 Enter が選択されているときに Enter を押します。 ReSharperはReSharperオプションのコード編集 | C# | コード・スタイルページを開いて、必要に応じて環境設定を変更し、次へ保存をクリックして希望の設定レイヤーを選択します。

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

Language: C#

Language: VB.NET

Language: C++

Language: HTML

Language: ASP.NET

Language: Razor

Language: JavaScript

Language: TypeScript

Language: CSS

Language: XML

Language: XAML

Language: Resx

Language: Build Scripts

Language: Protobuf

Language: JSON

Feature is available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

C#の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語によるReSharperの対応するトピックを参照してください。

最終変更日: 2018年10月5日

関連事項