GitHub Copilot Chatを利用してプログラムコードを記述する、コードを読んでもらう - GitHub Copilotでできること - Visual Studio

GitHub Copilot Chatを利用してプログラムコードを記述する手順を紹介します。

概要

Visual StudioでGitHub Copilotと連携ができるようになりました。 Visual StudioでGitHub Copilot Chatを利用してコードを記述する手順を紹介します。

事前準備 (GitHub, Visual Studioの設定)

こちらの記事を参照してください。

手順:コードを書いてもらう

Visual Studio を起動し、Windows Formアプリケーションのプロジェクトを作成します。


ウィンドウ右上の[GitHub Copilot]ボタンをクリックします。ドロップダウンメニューが表示されますので、[チャット ウィンドウを開く]の項目をクリックします。


チャットウィンドウが表示されます。



はじめにクラスの宣言コードを作成してもらいます。チャットウィンドウの下部のテキストボックスに以下の指示を入力します。
指示
整数型 id, 文字列型 name, 小数点の数値 price, 整数 unit の4つのメンバを持つクラスのコードを生成してください。

クラスの宣言部分のコードが生成できました。ソースコードのファイルにペーストします。


続いてクラスのリストの宣言コードを作成してもらいます。
テキストボックスに以下の指示を入力します。コードが生成されます。生成されたコードをコピー&ペーストしてソースコードファイルに貼り付けます。
指示
List<Product> のインスタンス作成コードを作成してください。


続いてリストにオブジェクトを挿入するコードを生成します。以下の指示を入力します。
生成されたコードをソースコードに反映します。
指示
products リストに Product オブジェクトを5つ追加したいです。値はテストなので適当な値を設定したコードを作成してください。



リストの値を画面に表示するコードを生成します。以下の指示を入力します。
生成されたコードをbutton1のClickイベント内にペーストします。
指示
products リストのオブジェクトのメンバの値をテキストボックスに表示したいです。textBox1に表示するコードを生成してください。


スコープを修正して完成です。

コード

完成したコードは以下です。
using static WinFormsAppTest.Form1;
using System.Text;

namespace WinFormsAppTest
{
  public partial class Form1 : Form
  {
    public class Product
    {
      public int Id { get; set; }
      public string Name { get; set; }
      public decimal Price { get; set; }
      public int Unit { get; set; }
    }

    List<Product> products;

    public Form1()
    {
      InitializeComponent();

      products = new List<Product>();

      products.Add(new Product { Id = 1, Name = "Product1", Price = 100.5m, Unit = 10 });
      products.Add(new Product { Id = 2, Name = "Product2", Price = 200.5m, Unit = 20 });
      products.Add(new Product { Id = 3, Name = "Product3", Price = 300.5m, Unit = 30 });
      products.Add(new Product { Id = 4, Name = "Product4", Price = 400.5m, Unit = 40 });
      products.Add(new Product { Id = 5, Name = "Product5", Price = 500.5m, Unit = 50 });
    }

    private void button1_Click(object sender, EventArgs e)
    {
      StringBuilder sb = new StringBuilder();
      foreach (var product in products) {
        sb.AppendLine($"Id: {product.Id}, Name: {product.Name}, Price: {product.Price}, Unit: {product.Unit}");
      }
      textBox1.Text = sb.ToString();
    }
  }
}

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


[button1]をクリックします。テキストボックスにProductsオブジェクトの値が表示されます。

手順:コードを読んでもらう

GitHub Copilotにコードを解説してもらう例です。

以前記述したコードですが、かなり古いコードで何をするコードなのか忘れてしまいました。
コードエディタでソースコードを開き、GitHub Copilotのテキストボックスに次の指示を入力します。
指示
(ソースコード).cs ファイルの (メソッド名) メソッドの処理が理解できないのですが、どういった処理をするメソッドでしょうか?


GitHub Copilotがソースコードを読んで処理内容の概要を紹介してくれます。


別のメソッドでも試してみます。
指示
(メソッド名) メソッドはどのような処理をするメソッドでしょうか?

メソッドの処理内容を解説してくれます。内容もあっています。


GitHub Copilot を利用してソースコードを記述したり、既存のコードを解説する手順を紹介しました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2024-05-25
iPentec all rights reserverd.