JetBrains Rider 2024.1 ヘルプ

クイックフィックスの例

クイックフィックスは、さまざまな状況で利用できますが、リストアップするには大きすぎます。JetBrains Rider は、サポートされているすべての言語で合計 1200 を超えるクイックフィックスを提供します。ここでは、状況の小さな選択を使用して使用する方法を示します:

型の不一致

式の型を式のコンテキストに適用できる型に暗黙的にキャストできない場合、JetBrains Rider はこのエラーを検出し、エディターでハイライトします。ハイライトされたエラーにキャレットを置き、Alt+Enter を押すと、次のリストからクイックフィックスを選択できます。

JetBrains Rider: Type mismatch quick-fix

提案されているクイックフィックスを適用した場合の影響を下の表に示します。

クイックフィックス

効果

string にキャスト

JetBrains Rider: Type mismatch quick-fix

string に安全にキャスト

JetBrains Rider: Type mismatch quick-fix

o のタイプを string に変更

JetBrains Rider: Type mismatch quick-fix

s のタイプを object に変更

JetBrains Rider: Type mismatch quick-fix

ToString() を呼び出す

JetBrains Rider: Type mismatch quick-fix

未定義の変数

JetBrains Rider がコード内で未定義の変数を検出すると、エラーがハイライトされます。ハイライトされたエラーにキャレットを置き、Alt+Enter を押すと、次のクイックフィックスのリストが表示されます。

JetBrains Rider: Undefined variable quick-fix

提案されているクイックフィックスを適用した場合の影響を下の表に示します。

クイックフィックス

効果

ローカル変数 s を作成します

新しいローカル変数 s が作成され、目的の型を選択することができます。

包含メソッドにパラメーター s を作成します

新しいパラメーターがメソッドシグネチャーに追加されます。

JetBrains Rider: Undefined variable quick-fix

その他を作成

対応するクラスのフィールドまたはプロパティを作成することを選択できるサブメニューを開きます。例: フィールドの作成を選択すると、現在のクラスに新しいプライベートフィールド s が作成されます。新しいフィールドの正しいタイプを選択するのに役立つ次の提案が表示されます。

JetBrains Rider: Undefined variable quick-fix

すべての s を変更

すべて変更を選択すると、次の提案が表示されます。

JetBrains Rider: Undefined variable quick-fix

新しい名前は一度だけ入力してください。JetBrains Rider は未定義変数の他のすべての発生を変更します:

JetBrains Rider: Undefined variable quick-fix

未定義のメソッド呼び出し

JetBrains Rider がコード内で未定義のメソッドの呼び出しを検出すると、エラーがハイライトされます。ハイライトされたエラーにキャレットを置き、Alt+Enter を押すと、JetBrains Rider は次のクイックフィックスのリストを表示します。

JetBrains Rider: Undefined method call quick-fix

クイックフィックスを適用すると、コードは次の表のように変更されます。

クイックフィックス

効果

メソッドの作成

このクイックフィックスでは、メソッドコールから派生したシグネチャーを使用して新しいメソッドを宣言し、トップダウンプログラミングを好む開発者の利益を得ています。この例では、JetBrains Rider は戻り値の型を正しく推測して次の宣言を作成します。

JetBrains Rider: Undefined method call quick-fix

JetBrains Rider はまた、新しいメソッドのパラメーターの適用可能な型と名前を提案します:

JetBrains Rider: Undefined method call quick-fix

その他を作成

このサブメニューには、補助コードの作成を含むその他のクイックフィックスが含まれています。例:

包含メソッドでパラメーターを作成します

このクイックフィックスは、未解決のシンボルから現在のメソッドに新しいパラメーターを作成しますが、その基本メソッドまたは継承は更新しません。

メソッドを含むパラメーターを作成し、階層を更新します

このクイックフィックスは、未解決のシンボルから現在のメソッドに新しいパラメーターを作成し、メソッドが持つ可能性のある基本メンバーと継承にこのパラメーターを導入します。

すべて変更

未定義の変数に対応するクイックフィックスと同様に、このクイックフィックスを使用すると、シンボル someMethod のすべての出現をすばやく置き換えることができます。

忘れられたメソッドの戻り

メソッドが値を返すことが期待されているにもかかわらず、return ステートメントを指定するのを忘れた場合、JetBrains Rider は問題のあるメソッドの終了括弧をハイライトしてそのことを警告します。ハイライトされたエラーにキャレットを置き、Alt+Enter を押すと、次のクイックフィックスが表示されます。

JetBrains Rider: Forgotten method return quick-fix

クイックフィックス

効果

return ステートメントの追加

クイックフィックスが適用された後、JetBrains Rider は null を返す return ステートメントを追加します。

メソッドが void を返すようにする

クイックフィックスが適用された後、JetBrains Rider はメソッドの初期戻り型を void に置き換えます。

Using ディレクティブがありません

ファイルに対応する using ディレクティブを書き忘れたために解決できないタイプ名がコードに含まれているときはいつでも、小さなポップアップがタイプをインポートすることを提案します。

JetBrains Rider: Namespace import quick-fix

Alt+Enter を押すと、適切な using ディレクティブが挿入されます。一致する名前を持つタイプが複数ある場合は、使用するタイプを選択するよう求められます (詳細については、「インポートする名前空間」を参照してください)。

ポップアップが表示されたときに必要な名前空間をインポートしないことを選択した場合、または JetBrains Rider 設定 Ctrl+Alt+Sエディター | 一般 | 自動インポートページでエディターで「不足している参照のインポート」ポップアップを表示するを無効にした場合は、タイプにキャレットを置き、Alt+Enter を押して、対応するクイックフィックス。

JetBrains Rider: quick-fixes for missing namespace import

たとえば、ソリューションにシステムタイプに類似したもの、たとえば MyFramework.MyCollections.List があるが、実際にはそれを使用していない場合など、一部のタイプまたは名前空間を提案しないようにすることができます。そのような項目を提案から除外するには、JetBrains Rider 設定 Ctrl+Alt+Sエディター | 一般 | 自動インポートページのインポートおよび補完から除外リストに追加します。

エントリの形式は、Fully.Qualified.NameFully.Qualified.Name.Prefix**Fully.Qualified.Name.Suffix です。ジェネリクス型は List`1 として指定されます。

不足している非同期修飾子

await 演算子を含むが非同期として定義されていないメソッドがある場合、JetBrains Rider はそのような不一致を検出し、対応するクイックフィックスを使用してこの問題を修正します。

次の前で改ページ:

JetBrains Rider: Missing async modifier quick-fix

クイックフィックスの適用:

JetBrains Rider: Missing async modifier quick-fix

次の後で改ページ:

JetBrains Rider: Missing async modifier quick-fix

ループを LINQ 式に変換する

C# 3.0 と LINQ を使用することで、開発者はその意図をコンパイラーに直接記述することで、データ集約型コードをより簡単に記述することができます。JetBrains Rider は、LINQ 構文を使用して書き換え可能なコードを検出し、自動的に変換を実行します。

次の前で改ページ:

JetBrains Rider: Converting a loop to a LINQ expression quick-fix

クイックフィックスの適用:

JetBrains Rider: Converting a loop to a LINQ expression quick-fix

次の後で改ページ:

JetBrains Rider: Converting a loop to a LINQ expression quick-fix

メソッドのパラメーターと戻り値で IEnumerable に移行する

JetBrains Rider はコードベースをスキャンして、ArrayListArrayList などのより具体的なタイプの代わりに IEnumerable を安全に返し、受け入れることができるメソッドを検出します。

次の前で改ページ:

JetBrains Rider: Migrating to IEnumerable in method parameters and returns

クイックフィックスの適用:

JetBrains Rider: Migrating to IEnumerable in method parameters and returns

次の後で改ページ:

JetBrains Rider: Migrating to IEnumerable in method parameters and returns

代入文をオブジェクトイニシャライザーに変換する

JetBrains Rider は、割り当てステートメントをオブジェクトイニシャライザーに変換するコンテキストアクションとクイックフィックスの両方を提供します。コンテキストアクションを使用すると、フィールドの割り当てを 1 つずつイニシャライザーに追加できますが、クイックフィックスではすべてを一度に追加できます。クイックフィックスの仕組みは次のとおりです。

次の前で改ページ:

JetBrains Rider: Converting assignment statements to object initializers

クイックフィックスの適用:

JetBrains Rider: Converting assignment statements to object initializers

次の後で改ページ:

JetBrains Rider: Converting assignment statements to object initializers

静的メソッド呼び出しを拡張メソッド呼び出しに変換する

拡張メソッドを従来の C# 静的メソッドとして呼び出すと、JetBrains Rider は、標準の拡張メソッド呼び出しの慣行を迅速に遵守できます。

次の前で改ページ:

JetBrains Rider: Converting static method invocation to extension method call

クイックフィックスの適用:

JetBrains Rider: Converting static method invocation to extension method call

次の後で改ページ:

JetBrains Rider: Converting static method invocation to extension method call

匿名メソッドをラムダ式に変換する

JetBrains Rider は、匿名メソッドをラムダ式に変換することを提案しています。逆の機能はコンテキストアクションとして提供されます。

次の前で改ページ:

JetBrains Rider: Converting anonymous method to lambda expression

クイックフィックスの適用:

JetBrains Rider: Converting anonymous method to lambda expression

次の後で改ページ:

JetBrains Rider: Converting anonymous method to lambda expression

自動プロパティに変換する

JetBrains Rider を使用すると、従来のプライベートフィールドベースのプロパティを C# 3.0 に実装された自動プロパティに簡単に変換できます。詳細については、自動プロパティを使用するを参照してください。

次の前で改ページ:

JetBrains Rider: Converting to auto-property

クイックフィックスの適用:

JetBrains Rider: Converting to auto-property

次の後で改ページ:

JetBrains Rider: Converting to auto-property

型パラメーターを不変にする

型パラメーターの使用が分散に違反すると、JetBrains Rider はパラメーターを不変にすることを提案します:

次の前で改ページ:

JetBrains Rider: Making type parameter invariant

クイックフィックスの適用:

JetBrains Rider: Making type parameter invariant

次の後で改ページ:

JetBrains Rider: Making type parameter invariant