ReSharper 2018.1ヘルプ

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

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

このトピックの内容:

quick-fixesの適用

クイックフィックスは、強調表示されたコードの問題の左側にアクションインジケータとして視覚的に表示されます。これらのインジケータは、コードの発行時にキャレットを設定すると表示されます。以下の指標は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つの同様のエラー修正の提案があるかもしれません。以下の図では、 using の冗長なディレクティブを削除することを示唆する2つの電球を確認できます。

Two light bulbs for fixing the same issue

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

ReSharperはデフォルトでVisual Studioの電球を抑制しますが、単にVisual Studioのクイックアクションを無効にするだけではありません。 Visual Studioのクイックアクションごとに、ReSharperは次の処理を行います。

  • 同様のReSharperのquick-fixがある場合、Visual Studioのクイックアクションは表示されません。
  • 同様のReSharperのquick-fixesがない場合、ReSharperのアクションリストでVisual Studioの動作が利用可能になります。特別なアイコン ThemedIcon YellowBulbVS Screen Gray を使用すると、Visual Studioのクイックアクションを認識できます。

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

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 availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is not availableFeature is available

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

最終変更日: 2018年7月11日

関連事項