ReSharper 2018.2ヘルプ

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

Using implicitly typed local variables(英語) (also known as var keyword) introduced in C# 3.0 has become quite popular as it improves readability in many scenarios. By default, ReSharper also encourages using of var keyword, but preferences of its usage are flexibly configurable — for example, you can opt for using explicit types in specific cases or everywhere and ReSharper will help you enforce your preferences.

Starting from C# 7.0, you can declare local variables when deconstructing tuples(英語). If you prefer var in such declarations, you can additionally configure a style to use joined or separated notation, that is, for example: var (x, y) = GetTuple(); or (var x, var y) = GetTuple(); .

Another C# 7.0 feature is discards(英語), which also allows using var to make sure that there are no conflicts with variables in the scope that may be named _ . ReSharper allows you to configure a style to always use var with discards where appropriate.

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

ReSharper checks all local variables for compliance with your preferences and if they do not comply, ReSharper highlights such declarations and suggests the corresponding quick-fix or fix in scope.

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

'Var' usage quick-fix
設定を変更した場合、ReSharperは明示的な型を使用できます:
'Var' usage quick-fix

Another option to enforce preferences of 'var' keyword usage in a bulk mode is code cleanup. You can either run code cleanup with the default profile デフォルト: フルクリーンアップ or run the cleanup with a custom profile solely targeted at your specific task as described below.

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

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

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

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

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

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

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

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

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

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

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

If you want to enforce 'var' keyword usage setting without opening the コードクリーンアップダイアログ , you can bind the created profile to the silent cleanup and run it simply by pressing Ctrl+Shift+Alt+F . You can also create a custom cleanup profile that would combine applying the preferences with other code style tasks.

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

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

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

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

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

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

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

    これらの設定のそれぞれに対して、'var'、明示的な型、または明らかなときに 'var'を使用することができます。つまり、オブジェクト、配列、リテラルまたは明示的なキャストの作成として初期化された変数に対してのみ 'var'を使用する必要があります。
  3. By default, ReSharper will suggest joined notation for multiple var 's in deconstruction declarations(英語), e.g. var (x, y) = GetTuple(); . You can select 展開された変数の宣言を別にすること to opt for separate notation, e.g. (var x, var y) = GetTuple(); .

  4. By default, ReSharper suggests using standalone _ for discards(英語), e.g. (_, _) = (0, 1); . You can select 廃棄には 'var'キーワードを使用する to always use var with discards where appropriate thus making sure that there are no conflicts with variables in the scope that may be named _ .

  5. The 通知する selectors in the right column allow you to set severity levels of code inspections detecting code that differs from your preferences.

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

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

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

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

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

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

    Changing code style preference for 'var' keyword

  4. Your change will be saved using the smart save logic.

  5. If you need to save the modified style preference in a shared settings layer, click on the コードスタイルを設定する menu item or press Enter when it is selected. ReSharper will open the コード編集 | C# | コード・スタイル page of ReSharper options where you can modify your preference as needed, click 次へ保存 and then choose the desired settings layer.

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

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年11月28日

関連事項