ReSharper 2018.3ヘルプ

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

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

このトピックの内容:

quick-fixesの適用

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

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年3月12日

関連事項