コードの構文スタイル: 暗黙的 / 明示的な型指定 ('var' キーワード)
C# 3.0 で導入された暗黙的に型指定されたローカル変数(var キーワードとも呼ばれます)を使用すると、多くのシナリオで読みやすさが向上するため、非常に人気があります。デフォルトでは、JetBrains Rider は var キーワードの使用も推奨していますが、その使用箇所の設定は柔軟に構成できます。たとえば、特定の場合やあらゆる場所で明示的な型を使用することを選択でき、JetBrains Rider は設定を適用できます。
C# 7.0 から、タプルを分解するときにローカル変数を宣言できます。このような宣言で var を使用する場合は、結合表記または区切り表記を使用するようにスタイルを追加で構成できます。例: var (x, y) = GetTuple(); または (var x, var y) = GetTuple();
もう 1 つの C# 7.0 機能は破棄です。これにより、var を使用して、_ という名前のスコープ内の変数との競合がないことを確認することもできます。JetBrains Rider を使用すると、必要に応じて破棄して var を常に使用するようにスタイルを構成できます。
「var」キーワードを使用する設定を強制する
JetBrains Rider はあなたの好みに合っているかどうかすべてのローカル変数をチェックします。もしそれらが遵守していなければ、JetBrains Rider はそのような宣言を強調し、対応するクイックフィックスまたはスコープの修正を提案します。
デフォルトでは、JetBrains Rider の設定では、'var' キーワードが優先されます:

設定を変更すると、JetBrains Rider は明示的なタイプを使用できます:

バルクモードで「var」キーワードの使用の設定を強制する別のオプションは、コードのクリーンアップです。組み込みプロファイルフルクリーンアップまたは再フォーマットして構文スタイルを適用のいずれかを使用してコードクリーンアップを実行するか、以下で説明するように、特定のタスクのみを対象としたカスタムプロファイルを作成して実行できます。
カスタムコードクリーンアッププロファイルで「var」キーワードを使用する設定を適用する
Ctrl+Alt+S を押すか、メニューから (Windows および Linux) または (macOS) を選択します。
クリーンアッププロファイル設定ページに移動します: 。
新しいカスタムクリーンアッププロファイルを作成するセクションの説明に従って新しいプロファイルを作成します。右側のプロファイル設定で、 ノードを展開し、'var' スタイルを適用チェックボックスをオンにします。
設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。
設定を適用する範囲を選択します。
ファイル内の任意の場所にキャレットを配置して、ファイルに設定を適用します。
ソリューションエクスプローラー内の 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルに設定を適用します。
Ctrl+R, C を押すか、メインメニューからを選択してください。
開いたコードの再フォーマットとクリーンアップダイアログで、新しく作成したプロファイルを選択し、必要に応じて別のスコープを選択します。
OK をクリックします。JetBrains Rider は選択した範囲内であなたの設定を強制します。
コードの再フォーマットとクリーンアップダイアログを開いてプロファイルを選択せずに、'var' キーワードの使用設定を強制する場合は、作成したプロファイルをサイレントクリーンアップにバインドし、Ctrl+R, G を押して実行できます。設定の適用と他のコードスタイルタスクを組み合わせたカスタムクリーンアッププロファイルを作成することもできます。
'var' キーワードの使用設定を、他のすべてのフォーマットおよび構文スタイルの規則とともに、選択したコードブロック Alt+Enter に適用し、を選択します。
最近変更し、Git にコミットしようとしているコードで、「var」キーワードの使用箇所の設定を適用できます。JetBrains Rider は、コミットする前に、選択したクリーンアッププロファイルを実行します。
Git にコミットする前にコードをクリーンアップする
Ctrl+K を押すか、メインメニューから を選択します。
コミットツールウィンドウで
をクリックし、コミットチェック領域でクリーンアップ ... チェックボックスを選択します。
プロファイルの選択をクリックして、カスタムコードクリーンアッププロファイルを選択します。
コミットまたはコミットとプッシュをクリックします。JetBrains Rider は、コミット用にステージングされたファイルでコードのクリーンアップを実行し、変更をコミットします。
変更をファイルに保存するたびに「var」キーワードの使用箇所の設定を適用して、編集が常にコードスタイルに準拠するようにすることができます。これは、変更を Ctrl+S または Ctrl+S で明示的に保存した場合にのみ発生し、auto-saving によってトリガーされないことに注意してください。ただし、自動保存されたすべてのファイルは「再フォーマットおよびクリーンアップ」キューに配置され、次の明示的な保存で処理されます。
変更の保存時に「var」キーワードの使用の設定を自動的に適用する
Ctrl+Alt+S を押して設定を開き、を選択します。
コードの再フォーマットとクリーンアップを選択し、カスタムコードクリーンアッププロファイルを選択して、それをファイル全体に適用するか、変更された行のみに適用するかを選択します。
次に編集を終了してファイルまたはすべてのファイルを保存すると、JetBrains Rider は選択されたプロファイルを使用して影響を受けるファイルをクリーンアップします。
'var' キーワードを使用するための環境設定を構成する
'var' キーワードの使用設定は、レイヤーベースの設定の仕組みを使って保存されます。とりわけ、このメカニズムにより、さまざまなソリューションのさまざまな設定を維持したり、これらの設定を VCS に保持したり、チームメンバーと自動的に共有することができます。
設定 / 環境設定で「var」キーワードを使用する設定を構成するダイアログ
JetBrains Rider 設定 Ctrl+Alt+S の ページに移動し、構文スタイルタブを選択します。
宣言における 'var' の使用箇所カテゴリの設定を、コーディングのプラクティス / 標準に従って変更します。
タイプごとに 'var' または明示的なタイプを使用する異なる設定を設定できます。
ビルトインタイプの場合 — C# ビルトインタイプに適用されます。
単純型の場合 — ジェネリクスパラメーターのない型に適用されます。
他の場所 — ジェネリクス型と脱構築宣言に適用されます。
これらの設定ごとに、「var」、明示的なタイプ、明らかなときに 'var' の使用を選択できます。
前の手順で明確な場合は 'var' を使用するを選択した場合は、Visual Studio ロジックを適用して、どのケースを明白と見なすかを決定できます。
JetBrains Rider ロジックと Visual Studio ロジックの違いについては、「明確な場合は 'var' を使用する: 明らかと考えられるものは何ですか? 」を参照してください。
デフォルトでは、JetBrains Rider は、
var (x, y) = GetTuple();などの分解宣言で複数のvarの結合表記を提案します。展開された変数の宣言を別にすることを選択して、(var x, var y) = GetTuple();などの個別の表記を選択できます。デフォルトでは、JetBrains Rider は、破棄にスタンドアロン
_を使用することを提案します(例:(_, _) = (0, 1);)。破棄には 'var' キーワードを使用するを選択して、必要に応じて破棄を伴うvarを常に使用することで、_という名前のスコープ内の変数との競合がないことを確認できます。右側の列のセレクターを使用すると、設定とは異なるコードインスペクション検出コードの重大度レベルを設定できます。
設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。
また、エディターで 'var' キーワードを使用することの好みを変更することもできます。該当する問題がハイライトされます:
エディターから「var」キーワードを使用する設定を変更する
JetBrains Rider のインスペクションでハイライトされているコードの問題にキャレットを置きます。
Alt+Enter を押すか、キャレットの左側にあるアクションインジケーターをクリックして、アクションリストを開きます。
アクションリストで、インスペクション「優先される 'var' スタイルを使用してください」 | コードスタイルを設定するに移動して、希望の設定を選択します。

変更は、スマートセーブロジックを使用して保存されます。
変更したスタイル設定を共有設定レイヤーに保存する必要がある場合は、コードスタイルを設定するメニュー項目をクリックするか、選択時に Enter を押します。JetBrains Rider により、JetBrains Rider 設定のページが開きます。必要に応じて設定を変更し、保存先をクリックして、目的の設定レイヤーを選択します。
EditorConfig を介して構文スタイルの設定を行うことができます。これらの設定は、ソリューション階層の異なるレベルの .editorconfig ファイルに保存できます。これらのファイルは通常、VCS に配置され、そこで定義された設定がプロジェクトチーム間で共有されます。
JetBrains Rider では、EditorConfig を使用して、JetBrains Rider の設定ダイアログで利用可能な構文スタイル設定を定義できます。サポートされている EditorConfig プロパティの名前と説明は、EditorConfig リファレンスで確認できます。
.editorconfig ファイルで定義された構文スタイルプロパティは、この .editorconfig ファイルが適用されるスコープ内の JetBrains Rider 設定で定義された同じプロパティをオーバーライドすることに注意することが重要です。
EditorConfig を使用して「var」キーワードの使用に関する設定を構成する
目的の .editorconfig ファイルを開きます。
必要な「var」キーワードの使用箇所のプロパティをファイルに追加します。例:
for_built_in_types = use_var_when_evident
明確な場合は 'var' を使用する: 明らかと考えられるものは何ですか?
「var」キーワードと明示的なタイプを使用する設定を構成する場合、明確な場合は 'var' を使用するを選択できます。このオプションは自明のように見えますが、場合によっては「明らか」と見なされるものとそうではないものが不明な場合があります。
それとは別に、両方の製品が「var」キーワードまたは明示的な型の使用を提案する場合、JetBrains Rider と Visual Studio によって明白(明白)と見なされるものの間にはいくつかの違いがあります。
次の表は、JetBrains Rider 設定 Ctrl+Alt+S のページの型の証拠には Roslyn(Visual Studio)ロジックを優先するチェックボックスの状態に応じて、'var' として宣言できる初期化子が明らかと見なされる場合を示しています。
初期化式 | サンプル | オフ | オン |
|---|---|---|---|
オブジェクト作成式 |
| 明らか | 明らか |
キャスト式 |
| 明らか | 明らか |
|
| 明らか | 明らか |
リテラル式 | | 明らか | 明らか |
デフォルトの式 |
| 明らか | 明らか |
タプル式 |
| すべてのコンポーネント式が明らかな場合に明らか | |
明示的な配列作成式 | | 明らか | 明らか |
暗黙的な配列作成式 | | すべての要素初期化子(最大 42)が明らかな場合に明らか | 明らかではない |
非ジェネリクスファクトリ(作成)メソッド (ある型で宣言され、同じ型の値を返す静的メソッド) |
| メソッド名に親タイプ名または次の部分文字列のいずれかが含まれている場合に明らか: 「作成」、「ビルド」、「構築」、「作成」、「生成」、「生成」、「新規」、「インスタンス」 | 明らか |
一般的なファクトリ(作成)メソッド (ジェネリクス型を返し、戻り型と同じ名前のクラスで宣言された静的メソッド) |
| すべてのメソッド呼び出し引数が明白であり、メソッド名に次の部分文字列の 1 つまたはクラス名が含まれている場合に明らか: 「作成」、「ビルド」、「構築」、「作成」、「生成」、「生成」、「新規」、「インスタンス」 | 明らか |
変換方法 (「To」に戻り型の名前を加えた名前のメソッド) |
| 戻り値の型がジェネリクスでない場合に明らか | 明らか |
型引数の値を返す明示的な型引数を持つジェネリクスメソッド |
| 明らか | 明らかではない |
列挙型メンバー |
| 明らか | 明らかではない |
シングルトンフィールド (宣言されている型の値を返す静的 / 定数フィールド) |
| フィールド名にタイプ名または次の部分文字列のいずれかが含まれている場合に明らか: 「空」、「インスタンス」、「デフォルト」、「値」 | 明らかではない |
関連ページ:
設計時にコードの問題を分析する
JetBrains Rider は、エディターでコードファイルを開くとすぐに、コードファイルが閉じられるまで分析を開始します。検出されたすべてのコードの問題は、重大度に応じてエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のエラーストライプにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:デザイン時のインスペクション機能は、Rider エディターの基本機能への主要...
コードの問題のクイックフィックス
JetBrains Rider を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味する
スコープを修正
クイックフィックスのほとんどは、キャレットの現在の問題を修正できますが、一部 (たとえば、未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など) は、現在のファイル、プロジェクト、フォルダー、ソリューション全体など、より広い範囲で問題を自動的に検出して修正することもできます。範囲内の修正を適用する:このような修正は、アクションリストの横に小さな矢印が表示されることで認識できます。範囲内の修正を適用する JetBrains Rider のインスペクションでハイ...
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから (...
レイヤーベースの設定
Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...
構文スタイル
コードスタイルの側面の 1 つは、互換性のある言語構文構造を使用する方法です。例: 以下の 2 つのメソッド定義は、コンパイラーの観点からは同じですが、構文構造の選択により、それらは異なって見えます。[Conditional(