コード編集中の AI 支援

IntelliCode の提案は、コード内の複数の場所で同様の編集を行う場合に役立ちます。 これによってローカルで編集が追跡され、繰り返しが検出されます。 その後、適用される可能性のある他の場所に同じ編集を適用することが提案されます。 たとえば、リファクタリングで適用対象だった可能性がある場所を見落としていた場合に、IntelliCode の提案が、これらの場所を見つけて修正するのに役立ちます。

IntelliCode は、コードのセマンティック構造を認識します。 この構造は、変数名が異なる場合でも、変更を適用できる状況を検出するために使用されます。

繰り返される温度変換でハードコードされたローカル値が使われており、それらの値を抽象化したヘルパー関数に置き換えるとします。 IntelliCode は、繰り返し行われている変更を検出し、その変更を他の場所で行うことを提案します。

Screenshot showing suggestions showing how repeated edits lead to finding suggestions.

提案は、Visual Studio エディターでクイック アクションとして表示されます。 IntelliCode の提案には、[Apply suggestion]\(提案を適用\)[Ignore suggestions like this]\(このような提案を無視\) のクイック アクション メニューのオプションがあります。 提案された変更を使用する場合は、[Apply suggestion]\(提案の適用\) を選択します。

Screenshot showing IntelliCode suggestions lightbulb.

Visual Studio 2019 16.9 以降のリリースでは、入力を行うことでも、入力候補一覧に提案が表示されます。

Screenshot showing IntelliCode suggestions shown in completions list.

IntelliCode の提案は、セッション中に繰り返された編集から学習するため、意図に合わない候補が表示されることがあります。 提案された変更を使用しない場合は、単に [Ignore suggestions like this]\(このような提案を無視\) アクションを選択します。 その後の編集でそのパターンを再現しない限り、IntelliCode でそれを再度提案することはありません。

Note

IntelliCode の提案はセッションスコープです。Visual Studio を閉じて再度開いた後には表示されなくなります

提案されたすべての変更の一覧を表示するには、[表示]>[その他のウィンドウ]>[IntelliCode suggestions]\(IntelliCode の提案\) を参照してください。

さらに提案を利用できることを示す電球

入力候補一覧の提案を受け入れたときに、同じ変更を適用できる場所が他にもある場合、見つかった提案の一覧を示すアクションを含む電球が表示されます。 これにより、IntelliCode の提案のウィンドウが開き、提案を見つけて操作できるようになります。

Screenshot showing IntelliCode suggestions discovery.

IntelliCode の提案を無効にする

提案は、Visual Studio バージョン 16.7 以降では既定で有効になっています。

これをオフにするには、[ツール]>[オプション] を選択し、[IntelliCode] の [全般] タブで [C# suggestions]\(C# の提案\)[無効] に切り替えます。