Visual Studio での AI 支援開発

この記事では、生産性を向上させ、効率化を進めるために Visual Studio で使用できる GitHub CopilotIntelliCode などの AI 支援開発機能について説明します。

AI 支援開発を利用するメリット

次の表は、Visual Studio での開発に AI アシスタントを利用する主な方法を説明したものです。

コードを書くのが速くなる

AI は次の場合に役立ちます。

  • コードと関数全体の提案の生成 (たとえば、タスクを実行するコードの書き方を自然言語で説明する)
  • プログラミング パターン (入力候補) に基づいて次に書くコードの内容を予測する
  • AI 駆動型コンテキスト対応推奨を使ったコードのリファクタリング

コードをより深く理解する

AI アシスタントに次のことを依頼しましょう。

  • コード セクションの説明 (たとえば、他人のコードを理解しようとしているとき)
  • プログラミングの質問に対する回答

プロファイルとデバッグが速くなる

コードのプロファイリングとデバッグに関するヘルプを得られます。

  • AI の提案に基づいてパフォーマンスを最適化する
  • AI で特定されたバグと解決策

GitHub Copilot と IntelliCode

GitHub Copilot と IntelliCode は、コードをより早く正確に記述するのに役立ちます。コードベースの理解を深める手段として活用できるほか、単体テストの記述、デバッグ、プロファイルなどの他の開発タスクにも役立ちます。

Visual Studio の GitHub Copilot

GitHub Copilot は、AI ペア プログラマであり、Visual Studio Marketplace で利用できる 2 つの拡張機能です。

  • Visual Studio の GitHub Copilot 拡張機能は、提供されたコンテキストに基づいてコードの行全体またはブロックを生成して、開発プロセスに強化された AI 支援を追加します。 数十億行のオープンソース コードでトレーニングされた AI モデルを活用して、エディターでコードを書いているときに、リアルタイムでオートコンプリート スタイルのコード候補を提供します。 この機能により、コードをより速く、より労力をかけずに記述できるようになります。

    使用するコードを書き始めるか、関数シグネチャを記述するか、またはコード ファイルにそのコードで何をしたいかを自然言語のコメントで記述すると、IDE で GitHub Copilo の提案を受けることができます。 提案されたコードを受け入れて使用できます。

    次の画像では、Visual Studio の GitHub Copilot のコード生成機能を示しています。 この例では、コード ファイルに自然言語でコメントを追加すると、GitHub Copilot によって灰色のテキストでコード提案が生成されます。 コードを使用する場合は、[タブ] を選択してコード ファイルに挿入できます。

    Animated screenshot that shows the code completion capabilities of the GitHub Copilot extension.

    Visual Studio で GitHub Copilot を使用してみましょう。 GitHub Copilot の使用には、Visual Studio 2022 17.5.5 以降が必要です。

  • Visual Studio の GitHub Copilot Chat 拡張機能は、 Visual Studio IDE 内に完全統合された AI を利用したチャット エクスペリエンスで、GitHub Copilot に由来しています。 これにより、IDE 内のチャット インターフェイスを使って GitHub Copilot と対話できるようになります。 自然言語でコーディング関連の質問をすることで、コンテキストに沿ったコード提案や、コード ブロックのしくみについての詳細な分析と説明を受けられるほか、単体テストの生成、問題の発見、修正案の提示などを得られます。 IDE を離れずに、コーディング情報とサポートを得られることで、情報に基づいた意思決定と、品質の高いコードの記述が促進されます。

    次の画像では、Visual Studio の GitHub Copilot Chat のチャット ウィンドウとインライン (対話型コード アシスタントの Ask Copilot) ビューを示しています。 この例では、[Copilot に質問する] を使用して、チャット ウィンドウまたは対話型コード アシスタントを使用したテスト関数を生成します。 使用したいコード提案が Copilot Chat によって提示された場合は、そのコードを受け入れて自分のコード ファイルに挿入できます。

    Animated screenshot that shows the capabilities of the GitHub Copilot Chat extension.

    GitHub Copilot for Individuals のユーザーは誰でも、GitHub Copilot Chat にアクセスできます。 詳細情報 を参照してください。 GitHub Copilot for Business を購入しているすべての組織は、制限付きの GitHub Copilot チャット ベータ版にアクセスできます。 詳細情報 を参照してください。

Visual Studio の IntelliCode

IntelliCode では、ユーザーのコードのコンテキストを、何千行ものパブリック オープンソース コードから学習したパターンと組み合わせて使用し、提案コンテキストに沿ったコード補完行全体の補完API の使用例などで、Intellisense の機能を AI を利用して強化しています。 IntelliCode は人工知能を使用して、現在のコード コンテキストとパターンから、入力候補一覧の上位の提案を動的にランク付けして横に星アイコンを付け、より早く正確なコードを記述できるよう支援します。

次の画像は、Visual Studio での IntelliCode の入力候補を示しています。

Animated screenshot that shows IntelliCode completions.

IntelliCode を使用してみましょう。

AI 機能の比較

次の表は、GitHub Copilot (および GitHub Copilot Chat) と IntelliCode の機能を比較しています。

重要

GitHub Copilot と IntelliCode は併用が可能です。 どちらか一方を選択する必要はありません。

AI 支援機能 GitHub Copilot IntelliCode
入手方法 ダウンロード可能な拡張機能:
- GitHub Copilot の入力候補 (ダウンロード)
- GitHub Copilot Chat アドオン (ダウンロード)
ほとんどのワークロードに既定で組み込まれており、Visual Studio インストーラーを介して入手することもできます
サブスクリプション ベース はい
詳細情報
いいえ
ユーザー インターフェイス インライン
チャット ウィンドウ
インライン
コンテキストに沿った AI 支援を行える IntelliSense はい
詳細情報
はい
詳細情報
行全体の補完機能 (灰色のテキスト) はい
詳細情報
はい
詳細情報
関数全体および複数行の入力候補 (灰色のテキスト) はい
詳細情報
いいえ
繰り返し編集の検出 いいえ はい
詳細情報
自然言語のコメントをコードに変換 はい
詳細情報
いいえ
自然言語を利用した開発支援によるコードの問題の解決 はい (チャット拡張機能が有効な場合)。
詳細情報
いいえ
コードのデバッグ はい (チャット拡張機能が有効な場合)。
詳細情報
いいえ
プロファイルを使用したアプリ パフォーマンスの測定 はい (チャット拡張機能が有効な場合)。
詳細情報
いいえ
API の使用例 いいえ はい
詳細情報
サポートされている言語 複数のプログラミング言語とフレームワークをサポート (C#、C++、Python、JavaScript、TypeScript、その他) C#、XAML、C++、JavaScript、TypeScript、Visual Basic

次のステップ

詳細については、次のリソースを参照してください。