コードを記述するときの AI 支援

IntelliCode の行全体のオートコンプリートを使用すると、これまでの現在のコードに基づいてコードの次のチャンクが予測され、それが灰色のテキスト インライン予測として表示されます。 メールを入力するときに表示される灰色のテキストのオートコンプリートと見なすことができますが、これはコード用です。

この機能では、Visual Studio 2022 の C# がサポートされています。

Visual Studio の IntelliCode による行全体の入力候補のスクリーンショット。

しくみ

IntelliCode では、GitHub の約 50 万のパブリックのオープンソース リポジトリでトレーニングされた大規模なトランスフォーマー モデルが使用されます。 このモデルを使用することにより、これまでにコーディングした項目に関する豊富な知識に基づいて、次に入力する項目が予測されます。これには、次のものが含まれます。

  • 変数名と位置
  • 使用しているライブラリ
  • 周辺コードの関数
  • IntelliSense の候補一覧

モデルはローカル コンピューター上で実行されるため、オフラインとエアギャップの環境でも機能を使用できます。 この機能では C# がサポートされています。

2 つのモード

IntelliSense には、2 つの入力候補モードが用意されています。1 つは、ユーザーが入力しているときで、もう 1 つは、IntelliSense の入力候補一覧でユーザーが項目を選択したときです。

モード 1: 入力時の行全体のオートコンプリート

ユーザーが入力しているときに、行全体のオートコンプリートが表示されます。これは、"Tab to accept" キーによって受け入れることができます。予測を無視するには、Esc または Delete キーを押します。

行全体のオートコンプリートを受け入れるための Tab キーが表示されているスクリーンショット。

モード 2: IntelliSense 項目が選択された場合の行全体のオートコンプリート

ユーザーが IntelliSense の候補一覧から項目を選択すると、IntelliCode では、予測を提供するために、ユーザーが入力した内容とユーザーが選択した内容をコンテキストとして使用します。 この場合、予測を受け入れるための "Tab Tab to accept" キーが表示されます。 最初の Tab キーにより IntelliSense の入力候補一覧から選択した項目を受け入れ、2 番目の Tab キーにより行全体の入力候補を受け入れます。 予測を無視するには、Esc または Delete キーを押します。

選択された入力候補項目と行全体の入力候補を受け入れるための Tab Tab キーが表示されているスクリーンショット。

行全体のオートコンプリートを受け入れるまたは無視する

既定では、Tab キーを使用して行全体のオートコンプリートを受け入れます。 既定の受け入れキーを右矢印に変更するには、[ツール]>[オプション]>[IntelliCode] ->[詳細] に移動します。

[Apply completions for whole lines on right arrow] という名前の設定を有効にします。

行全体のオートコンプリートを受け入れるキーを右矢印に変更する [設定] メニューのスクリーンショット。

Apply whole line completions on right arrow 設定を有効にします。

行全体のオートコンプリートを受け入れるキーを右矢印に変更する [設定] メニューのスクリーンショット。

行全体のオートコンプリートを無視するには、ESC または Delete キーを使用できます。

プライバシー

プライバシーに関するページを参照してください

行全体のオートコンプリートを制御する

行全体のオートコンプリート機能を制御するには、エディターの右下 (ズーム コントロールの横) にある小さな紫色の電球を使用できます。

IntelliCode の行全体のオートコンプリートをオンまたはオフに切り替えるための設定のスクリーンショット。

最初の設定 [Show completions for lines of code] を使用すると、行全体のオートコンプリートのオン/オフを切り替えることができます。

2 番目の設定 [Wait for pauses in typing before showing line completions] を有効にすると、ユーザーが入力を一時停止した場合のみ行全体のオートコンプリートが表示されます。 既定のモードで行全体のオートコンプリートが煩わしいと感じる場合は、このオプションを使用することをお勧めします。

3 番目の設定 [Show completions on new lines] は、Return キーまたは Enter キーを押して新しい行を入力するときに、行全体のオートコンプリートを表示するかどうかに応じてオンまたはオフにできます。

[ツール][オプション][IntelliCode][全般]では、Show inline completions 設定を使用して行全体のオートコンプリートをオンまたはオフにすることができます。

[詳細] タブにはその他のオプションがあります。

IntelliCode による行全体のオートコンプリートをオンまたはオフに切り替えるための設定のスクリーンショット。

最初の設定 Apply whole line completions on right arrow についてはこの記事で前述しました。

2 つ目の設定 Disable suggestions while debugging では、デバッグ時の煩わしい作業を最小限に抑えることができます。

3 番目の設定 [Show inline completions on new lines] は、Return キーまたは Enter キーを押して新しい行を入力するときに、行全体のオートコンプリートを表示するかどうかに応じてオンまたはオフにできます。

最後の設定である Wait for pauses in typing before showing line completions を有効にすると、入力を一時停止した場合にのみ行全体のオートコンプリートが表示されます。 既定のモードで行全体のオートコンプリートが煩わしいと感じる場合は、このオプションを使用することをお勧めします。

フィードバックを提供する

フィードバック チケットを提出するには、Visual Studio の右上にある [フィードバック] アイコンをクリックします。 必要に応じて、IntelliCode ログ ファイルをフィードバック チケットにアップロードして、追加のコンテキストを提供できます。 ログ ファイルの内容を確認し、発生している可能性のあるプライバシーの問題に対処してください。 このデータは、Microsoft と共有する場合、お客様へのサポートを提供する以外の目的で使用されることはありません。 ログは、%LOCALAPPDATA%\Temp\VSFeedbackIntelliCodeLogsにあります

IntelliCode に関するフィードバックを送信するスクリーンショット。

次のステップ

プライバシーに関するページを参照してください