ReSharper 2018.3ヘルプ

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

ReSharper は、設計時検出されたほとんどのコード問題を即座に修復できます。強調表示されたコードの問題で Alt+Enter を押し、問題を解決する適切な方法を選択するか、最適ではないコードを改善するのと同じくらい簡単です。

このトピックの内容:

quick-fixesの適用

クイックフィックスは、強調表示されたコードの問題の左にアクションインジケータとして視覚的に表示されます。これらのインジケータは、コードの発行時にキャレットを設定すると表示されます。次のインジケータは、クイックフィックスを意味します。

  • ThemedIcon RedBulb Screen Gray - エラー重大度で検出されたコードの問題のquick-fixを示唆します。

  • ThemedIcon QuickSearch Screen Gray - NuGetパッケージギャラリーの 未解決の型または名前空間を見つけるに提案しています。

  • ThemedIcon RefactorThis Screen Gray - インプレースリファクタリングまたは検出されたコードの問題を修正できるリファクタリングを示唆しています。

  • ThemedIcon YellowBulb Screen Gray - 警告提案またはヒント重大度の検出されたコードの問題について、quick-fixを示唆します。

  • ThemedIcon YellowBulbVS Screen Gray - Visual Studioのコード修正またはリファクタリングアクションを提案します。

  • ThemedIcon Delete Screen Gray - 安全に削除できる冗長コード用のquick-fixを提案します。

quick-fixesを表示して適用するには

  1. エディターおよびマーカーバー問題の強調表示を使用して、特定のコードの問題に移動します。

  2. 強調表示された問題にキャレットを設定します。

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

  4. 目的のquick-fixをクリックするか、矢印キーを使用して選択し、 Enterを押します。

ほとんどの場合、quick-fixが直ちに適用されます。ただし、一部のquick-fixes(例:すべてを変更)では、コードをどの程度正確に変換するかを選択するためにユーザーの操作が必要です。このような場合、ホットスポットセッションがエディターに配備され、提案された値の1つを選択するか、アクティブな入力位置に独自の値を入力できます。

Hot spot session after applying quick-fix

ホットスポットセッションを完了するには:

  • ReSharperが現在のパラメータの値を示唆している場合は、 UpDown の矢印キーを使用して推奨値のリストをナビゲートするか、目的の値を入力してください。

  • Tab または Enter を押して値を受け入れ、次のパラメータの入力位置に移動します。これが最後のパラメータである場合、ホットスポットセッションは完了し、キャレットはセッション用に定義された終了位置に移動します。

  • Shift+Tab を押すと、入力フォーカスが前のパラメータの入力位置に移動します。

  • Esc を押してホットスポットセッションを終了します。この場合、すべてのセッションパラメータはデフォルト値で初期化されます。

いくつかのクイックフィックスは、現在のキャレット位置だけでなく、より広い範囲に適用することができます。詳細は、スコープの修正を参照してください。

Visual Studioからのクイックフィックス

バージョン2015以降、Visual Studioには独自のコード解析エンジン(Roslyn)が付属しており、独自の電球(英語)機能を備えており、リファクタリングやエラー修正などの迅速な処理を実行できます。

Visual Studioのクイックアクションは、ReSharperのクイック・フィックスコンテキストアクション、またはリファクタリングと同じ修正を実行することがよくあります。したがって、エラーによっては、Visual StudioとReSharperの2つの類似した提案があるかもしれません。下の図では、2つの電球があり、どちらも冗長な using ディレクティブを削除することを示唆しています。

Two light bulbs for fixing the same issue

これを避けるため、ReSharperはReSharperオプションのコード・インスペクション | 設定ページにVisual Studio Light Bulbを表示しないオプションを提供します。このオプションはデフォルトで有効になっているため、重複した電球は無効にしないと表示されません。

Visual Studio電球が抑制されている場合、Visual Studio Light BulbアクションをReSharperバルブに結合するチェックボックスを選択することで、Visual StudioのアクションをReSharperのアクションリストに統合できます。選択されている場合、ReSharperは各Visual Studioのクイックアクションに対して次のことを行います。

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

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 available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is available

Feature is not available

Feature is available

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

最終更新日: 2019年1月21日

関連事項