IntelliCode: Visual Studio での AI 支援コード開発

GitHub CopilotGitHub Copilot Chat、IntelliCode を使用すると、Visual Studio での AI 支援開発が可能になり、コードを記述するときの生産性と効率が向上します。

この記事では、Visual Studio IntelliCode でどのように、人工知能を使用してソフトウェア開発が強化されるかについて説明します。たとえば、灰色のテキストで示す行全体の入力候補など、コンテキストに沿ったコードのオートコンプリートを提供します。 IntelliCode は、ほとんどの Visual Studio ワークロードにデフォルトで含まれており、Visual Studio インストーラーから入手できます。 この機能が予測するのは、単なるアルファベット順のリストではなく、開発者が使用する可能性が最も高いメソッドやプロパティです。 開発者が現在記述しているコードの文脈とパターンを使用し、この一覧を動的に提供します。

IntelliCode では、メンバーの提案が提供されるだけでなく、引数の入力候補も提供されます。 この機能では、メソッドを呼び出すときに使用する可能性が最も高い引数名に星が付けられ、それらの提案が入力候補一覧の先頭に表示されます。 かっこ内への入力を始めるか、Ctrl+Space キーを押すと、入力候補一覧が表示されます。

Screenshot of argument completion in IntelliCode for Visual Studio.

IntelliCode によってローカルで編集が追跡され、反復的なアクションを実行しているタイミングが検出されて、他の同様の場所に同じアクションを適用するために提案が示されます (C# のみ)。 Screenshot of suggestions for C# in Visual Studio.

コンテキストに沿ったコードのオートコンプリート

IntelliCode は、複数の言語に対応した AI 支援 IntelliSense を提供します。 IntelliCode 候補は、入力候補一覧の先頭に、横に星アイコン付きで表示されます。

Screenshot of starred IntelliSense suggestions using IntelliCode in Visual Studio.

入力候補一覧では、API の一覧が単純にアルファベット順で提示されるのではなく、開発者にとってそれを使うことが正解となる可能性が最も高い API が提案されます。 この動的な一覧を提供するため、IntelliCode では、GitHub で高い評価を得ている何千ものオープンソース プロジェクトに基づいて、開発者の現在のコード コンテキストとパターンが使用されます。 結果的に、最も関連性があり、最も適切な API 呼び出しを予測するモデルが作られます。

Screenshot of C# whole-line autocompletions in Visual Studio.

Visual Studio 2022 以降を使用する C# 開発者は、行全体のオートコンプリートのメリットも活用できます。オートコンプリートは、これまでの現在のコードに基づいてコードの次のチャンクを予測し、それをインライン予測として表示します。

Note

IntelliCode の機能の一部はまだプレビューの段階であり、将来もサポートされる保証はありません。 既定では、プレビュー 機能が無効になっています。 IntelliCode のプレビュー機能を有効または無効にするには、[ツール]>[オプション]>[IntelliCode] の順に選択します。 [プレビュー機能][有効][無効]、または [既定] を選択して、各機能を構成します。

Visual Studio 用 IntelliCode

  1. バージョン 16.4 以降の Visual Studio をダウンロードします。
  2. .NET デスクトップ開発などの、サポートされているワークロードをインストールします。 Visual Studio IntelliCode は既定でインストールされます。

星印が付いた IntelliSense による候補をオフにするには、メニューから [拡張機能]>[拡張機能の管理] を選択して拡張機能を無効にし、IntelliCode 拡張機能を見つけて選択し、[無効] をクリックします。

サポートされている言語およびワークロード

AI 支援 IntelliSense 入力候補でサポートされている言語は次のとおりです。

  • C#
  • XAML
  • C++
  • JavaScript と TypeScript (TypeScript 3.4.2 以降が必要)
  • Visual Basic

IntelliCode は次のいずれかのワークロードの一部として Visual Studio 2019 バージョン 16.4 に含まれています。

  • Azure の開発
  • .NET デスクトップ開発
  • .NET によるモバイル開発
  • Unity でのゲーム開発
  • .NET Core クロスプラットフォームの開発
  • ASP.NET と Web 開発
  • Visual Studio 拡張機能の開発
  • ユニバーサル Windows プラットフォーム開発
  • Office/SharePoint 開発
  • C++ によるデスクトップ開発
  • C++ によるゲーム開発
  • C++ でのモバイル開発
  • C++ による Linux 開発

チーム入力候補

以前のバージョンの IntelliCode では、コードに関してモデルをトレーニングする方法が提供され、チーム固有の API フレームワーク、ライブラリ、およびその他のユーザー プロジェクトに対しては、並べ替えられたメソッド入力候補が提供されていました。 この機能は、コンピューターで実行されるディープ ラーニング モデルに置き換えられ、C# ユーザーが自由に利用できるようになりました。 IntelliCode カスタム チームの入力候補モデルからディープ ラーニングへのアップグレードに関するブログ記事を参照してください。 IntelliCode は、すべての Visual Studio ユーザーが無料で利用できます。

C++ ユーザーの場合は、AI 支援コード開発用の GitHub Copilot にサブスクライブできます。 GitHub Copilot と Visual Studio IntelliSense の連携により、コード入力候補の質が向上します。Visual Studio の IntelliSense の一覧で GitHub Copilot コード入力候補を利用可能になったことに関するブログ記事を参照してください。 GitHub Copilot にはサブスクリプションが必要ですが、無料試用版で評価することもできます。

Visual Studio の IntelliCode エラーのトラブルシューティング

IntelliCode の候補が表示されない場合は、IntelliSense の UI をオーバーライドする拡張機能がインストールされている可能性があります。 このような場合、一覧の先頭に IntelliCode の "星印付き" の候補が表示されないことがあります。 この動作の原因が拡張機能であるかどうかを確認するには、IntelliSense をオフにしてから、再度オンにしてください。 または、拡張機能でサポートされている場合は、オート コンプリート機能をオフにします。

IntelliSense UI をオーバーライドする拡張機能を無効にしても問題が解決しない場合は、Visual Studio の問題を報告する機能を使用して報告してください。レポートに IntelliCode を含めないでください。

テレメトリ

IntelliCode では、製品の改良に役立てるため、一部の利用状況データやエラー報告データが匿名化されて取得されます。 ユーザー定義のコードが Microsoft に送信されることはありませんが、IntelliCode の結果の使用に関する情報は収集されます。 オープンソースまたは .NET の型とメンバーである基本モデルの候補については、IntelliCode の候補が選択されたかどうかが取得され、候補の名前がログに記録されます。 Microsoft ではそのデータを使用して、基本モデルの品質を監視します。 カスタム モデルについては、IntelliCode の候補が選択されたかどうかは取得されますが、ユーザー定義の型またはメソッドの名前はログに記録されません

IntelliCode のデータ収集を無効にするには、Visual Studio エクスペリエンス向上プログラムをオプトアウトします。 メニュー バーで、[ヘルプ][フィードバックの送信][設定] の順に選択します。 [Visual Studio エクスペリエンス向上プログラム] ダイアログで [いいえ、参加しません] を選択し、[OK] を選択します。

関連項目