WebSurfer's Home

Filter by APML

Visual Studio 2026 AI 駆動開発 - コード補完

by WebSurfer 15. January 2026 17:54

Visual Studio 2026 の AI 駆動開発は、統合された GitHub Copilot にペアプログラマーとしての役割を担ってもらい、ユーザーは GitHub Copilot が提供する「チャット」と「コード補完」を利用して開発を加速するという形になるそうです。

「チャット」については、先の記事「Visual Studio 2026 AI 駆動開発 - チャット」に調べたことを書きました。

この記事では、その続きとして、「コード補完」について調べたことを書きます。対象となるサンプルは .NET Framework 4.8.1 の C# のコンソールアプリです。コードは先の記事の最後に載せましたので見てください。

「コード補完」は、Microsoft のドキュメント「GitHub Copilot の入力候補を始めてみましょう」によると "コードを入力すると、AI はコンテキストを分析し、関連する提案をリアルタイムで提供します。 また、コードで実行する内容を説明するコメントを自然言語で記述することで、提案を受け取ることもできます" ということだそうです。

そして、Microsoft のドキュメントによると、「コード補完」には「入力候補 (Completions)」と「次の編集候補 (Next edit suggestions)」という 2 種類の方法が提供されているそうです。この記事では、前者の「入力候補 (Completions)」における「コードを入力」と「コメントを自然言語で記述」のそれぞれについて書きます。(注:「次の編集候補」はデフォルトで無効になっています)


(1) コードを入力

まず、ユーザーがコードを入力している際に AI からリアルタイムで提案を受ける例を書きます。

先の記事「Visual Studio 2026 AI 駆動開発 - チャット」でチャットにより AI から Program.cs のコードの説明を受けた際、説明に加えて Potential issues and suggestions としていろいろ指摘を受けてます (詳しくは先の記事を見てください)。

それらの指摘の内、以下の指摘のみを受け入れ、ユーザーが自力でコードを書いて修正するとします。

CSV robustness:

  • Validate fields.Length >= 2 before indexing to avoid IndexOutOfRangeException.
  • Skip or detect a header row if present.

前者の、"Validate fields.Length >= 2 before indexing to avoid IndexOutOfRangeException." に対しては、以下のようにコードの適切な場所に if とタイプすると AI が自動的に修正案を提案してくれます。

if とタイプした結果

if の後のグレー表示の部分が AI の提案です。確認して OK なら Tab キーを押してコードを確定します。提案を拒否する場合は Esc キーを押します。

後者の "Skip or detect a header row if present." に対しては、以下のように tfp とタイプすると AI が自動的に修正案(グレーの文字の部分)を提案してくれます。

tfp とタイプした結果

提案を確認して OK なら Tab キーを押してコードを確定します。提案を拒否する場合は Esc キーを押します。


(2) コメントを自然言語で記述

次に、コメントを自然言語で記述することで AI からそのコメントに相当するコードの提案を受ける例を書きます。

上と同様に Potential issues and suggestions 中の 2 件の指摘を修正することとします。

まず、"Validate fields.Length >= 2 before indexing to avoid IndexOutOfRangeException." への対応ですが、コードを直接をタイプする代わりに、以下のように // をタイプすると AI からコメント文が提案がされます。グレーの文字の文が AI の提案です。

AI によるコメント文提案

しかし、上記の AI 提案は、ユーザーが欲しい修正コードの提案を受けるためのコメントにはなっていません。(AI はそこまで賢くユーザーの意図を汲んではくれないようです)

ここで必要な処理は「fields.Length が 2 以上であることを確認」して必要な処理を行うコードを追加することです。なので AI のコメント提案は受けないで(Esc キーを押して AI の提案を消して)ユーザーが自分でコメントを書きます。以下のように、コメントを書いてから改行するとコメントの下に AI からグレーの文字でコードが提案されます。

コメント文からコード生成

提案を確認して OK なら Tab キーを押してコードを確定します。提案を拒否する場合は Esc キーを押します。

次の "Skip or detect a header row if present." への対応ですが、こちらはユーザーが何をしたいのかを AI が予想できるようで、// をタイプするだけで適切なコメント文を AI が作ってくれます。

コメント文からコード生成

Tab キーを押してコメントを確定させた後、改行すると AI からコメント文に対応するコードがグレーの文字で提案されます。

コメント文からコード生成

提案を確認して OK なら Tab キーを押してコードを確定します。提案を拒否する場合は Esc キーを押します。

以上、チャットでの Potential issues and suggestions での指摘の一部を「コード補完」を利用してユーザーが自力でコードを書いて修正する例を書きました。

Potential issues and suggestions とは関係なくコメントからコードを AI に生成させることもできます。

例えば何らかのメソッドを追加したい場合、追加する場所に // Method とタイプします。すると以下のようにグレーの文字で AI がユーザーのやりたいことをコードの前後から想像して提案してきます。

// Method とタイプした結果

AI の提案したコメントで良ければ Tab キーを押してコメントを確定させた後、改行すると AI がそのコメントに相当するコードを提案してくれます。下の画像のグレーの文字の部分がそれです。

AI が提案したコード

AI の提案したコメントが期待するものと違う場合は、Esc キーを押して AI の提案を削除し、Method の後のコメント文をユーザーが作成します。例えば CSV ファイルから DataTable を取得したい場合は以下の緑文字のようにタイプします。グレーの文字は AI の提案です。

コメントの修正

上のコメントで良ければ Tab キーを押してコメントを確定した後、改行すると AI がコ��ントに相当するコードを提案してくれます。下の画像のグレーの文字のコードがそれです。

AI が提案したコード

AI が提案したコードで OK であれば Tab キーを押してコードを確定させます。

AI が提案したコードを確定


以上、自分が調べた「コード補完」の操作方法についた書きました。他にも、Microsoft のドキュメント「GitHub Copilot の入力候補を始めてみましょう」によると「ドキュメント コメントの生成」他いろいろ機能があるようです。

また、デフォルトでは有効になっていませんが、設定で Next Edit Suggestions (NES) 機能を有効にして使うことができるそうです。そのあたりは勉強不足で分かっていませんので、別途調べてみたいと思っています。

Tags: , ,

DevelopmentTools

About this blog

2010年5月にこのブログを立ち上げました。主に ASP.NET Web アプリ関係の記事です。ブログ2はそれ以外の日々の出来事などのトピックスになっています。

Calendar

<<  June 2026  >>
MoTuWeThFrSaSu
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

View posts in large calendar