GitHub Copilot、 GitHub Copilot Chat、IntelliCode を使用すると、 Visual Studio での AI 支援開発が可能になり、コードを記述する際の生産性と効率が向上します。
この記事では、AI 技術を利用してソフトウェア開発の質や効率を高めるうえで Visual Studio IntelliCode がどのように役立つかを紹介します。たとえば、行全体の入力候補を灰色のテキストで表示するコンテキストに応じたコード補完機能などについて説明します。 IntelliCode は、ほとんどの Visual Studio ワークロードに既定で含まれており、Visual Studio インストーラーから使用できます。 この機能は、アルファベット順のリストではなく、開発者が使用する可能性が最も高いメソッドまたはプロパティを予測します。 開発者の現在のコード コンテキストとパターンを使用して、この動的リストを提供します。
IntelliCode では、メンバー候補の提供に加えて、引数補完も提供されます。 この機能は、メソッドを呼び出すときに使用する可能性が最も高い引数名を示し、候補を入力候補一覧の一番上に配置します。 かっこ内で入力を開始するか、Ctrl + スペースキーを押すと、入力候補の一覧が表示されます。
IntelliCode では、編集内容をローカルで追跡し、繰り返しアクションを実行するタイミングを検出し、同じアクションを他の類似の場所に適用するように 提案 します (C# のみ)。
コンテキスト対応コードの自動補完
IntelliCode は、複数の言語に対して AI 支援 IntelliSense を提供します。 IntelliCode の候補が入力候補一覧の上部に表示され、その横に星アイコンが表示されます。
完了リストは、メンバーの単純なアルファベット順のリストを表示するのではなく、開発者が使用する可能性が最も高い正しい API を示しています。 この動的リストを提供するために、IntelliCode では、GitHub 上の高度に評価された数千のオープンソース プロジェクトに基づいて、開発者の現在のコード コンテキストとパターンが使用されます。 結果は、最も可能性が高く、最も関連性の高い API 呼び出しを予測するモデルを形成します。
Visual Studio 2022 以降の C# 開発者は、現在のコードに基づいてコードの次のチャンクを予測し、インライン予測として提示する 、行全体のオートコンプリートのメリットも得ることができます。
注
IntelliCode の一部の機能はまだプレビュー段階であり、将来サポートされる保証はありません。 プレビュー機能は、既定では無効になっています。 IntelliCode プレビュー機能を有効または無効にするには、 ツール>Options>IntelliCode を選択します。 [ プレビュー機能] で、[ 有効]、[ 無効]、または [既定] を選択して、各機能を構成します。
Visual Studio 用 IntelliCode をインストールする
- Visual Studio バージョン 16.4 以降をダウンロードします。
- サポート されているワークロード (.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 エクスペリエンス向上プログラムをオプトアウトします。 メニュー バーから[ヘルプ]>[Privacy>Privacy 設定]を選択します。 [Visual Studio Experience Improvement Program]\(Visual Studio エクスペリエンス向上プログラム\) ダイアログで、[いいえ、参加しない] を選択し、[OK] を選択します。