ReSharper 2019.1ヘルプ

コードの構文スタイル: 暗黙的/明示的な型指定 ('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 はそのような宣言を強調し、対応するクイックフィックスまたはスコープの修正を提案します。

デフォルトでは、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. デフォルトでは、ReSharperは破棄(英語)のためにスタンドアロン _、たとえば (_, _) = (0, 1);を使用することを提案します。廃棄には '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 を押します。ReSharperはReSharperオプションのコード編集 | C# | コード・スタイルページを開くため、必要に応じて設定を変更し、次へ保存をクリックしてから目的の設定レイヤーを選択します。

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

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not available

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

最終更新日: 2019年6月7日

関連事項

関連ページ:

設計時にコード問題を検出

ReSharperは、エディターでコード・ファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターで強調表示されます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、...

コードの問題のクイックフィックス

ReSharperを使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。強調表示されたコードの問題で を押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。このトピックの内容:クイックフィックスの適用、Visual Stud...

スコープの修正

ほとんどのクイック・フィックスは現在の問題をキャレットで修正することができますが、その一部(例:未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など)は、現在のファイル、現在のプロジェクト、またはソリューション全体「Fix in scope」と同様に、より広い範...

コードインスペクションの設定

コード注釈を使用して、ReSharperがコードをインスペクションする方法をカスタマイズすることもできます。デザインタイムコードインスペクションの切り替え:デフォルトでは、ReSharperはサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、...

コードのクリーンアップ

ReSharper | 編集 | コードのクリーンアップコマンドラインユーティリティを使用してコードのクリーンアップを実行することもできます。ReSharperを使用すると、フォーマット設定やその他のコードスタイル設定を一括モードで適用して、1つ以上のファイル、プロジェクト、またはソリューション全体...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...