Welcome to Mashykom WebSite



VSCode と GitHub Copilot の利用


 Visual Studio Code (VS Code) は、Microsoftによって開発された無料のオープンソース・コードエディタです。2015年に最初にリリースされ、クロスプラットフォームで動作するため、Windows、macOS、Linuxで使用可能です。Visual Studio Codeは、通常のエディターとは異なり、コードのデバッグと実行、バージョン管理、拡張機能のサポートなど、多くの機能を提供しています。Python、C++、JavaScript、TypeScript、などのプログラミング言語の開発者に利用されています。

 VS Code はは汎用 IDE で、ソフトウェアの開発に役立つツールをまとめたソフトウェアアプリケーションです。プログラミング言語でソースコードを記述したり、コンパイルしたり、デバッグしたりする機能を備えています。この IDE を使用すると、開発環境の構築やセットアップの手動統合が不要になり、開発を効率化することができます。また、チームで開発環境を共有することで、バージョンやソースコードの管理など連携作業に関するミスを防ぐことができます。

 2024年12月以降、VS Code 内で GitHub Copilot が無料で利用可能となりました。GitHub Copilot は GPT4o と Claude3.5 を使用した AI コーディング・アシスタントであり、コードをより速く楽に記述できるため、コード開発における問題解決とコラボレーションがより効率的になります。GitHub Copilot は、開発者の生産性を向上させ、ソフトウェア開発のペースを加速することが可能です。

 VS Code のコーディングの環境で Copilot を使用するには、GitHub Copilot 拡張機能をインストールする必要があります。VS Code に GitHub Copilot 拡張機能をインストールすると、入力時に Copilot からコーディングの提案を受け取ることができます。 また、GitHub Copilot Chat 拡張機能も自動的にインストールされます。これにより、Copilot とチャットできます。

 このページでは、VS Code で GiitHub Copilot を利用する方法について説明します。最初に、VS Code での Python コードの作成と実行について説明します。

Last updated: 2025.1.16


Visual Studio Code で Python 開発環境の構築


 Visual Studio Code のインストール方法について説明します。Visual Studio Code のインストールに従って、インストールします。Macでは、Visual Studio Code on a macOS の説明に沿って、ダウンロードすると、最新版がインストールされます。


VS Code の初期画面

 Visual Studio Code を起動します。Python や C++ などの必要な拡張機能を追加します。ここでは、Python は仮想環境などでインストール済みであると想定します。Python 環境が終了していない時は、Python の仮想環境の構築のページを読んでください。

 VSCode を開き、左側の拡張機能アイコンをクリックします。検索バーに「Python」と入力し、Microsoft が提供している Python 拡張機能をインストールします。

 Python 拡張機能がインストールされている時は、Python ファイルを開くと、Python のインタープリターが自動的に検出され、右下のメニューバーに Python と表示されます。Python と表示された右側にある「Select Python Interpreter」アイコンをクリックすると、利用可能なPython のインタープリターのリストがポップアップするので、その中から選択します。Python のインタープリターを選択すると、Python のバージョンが表示されます。

 Python スクリプトの作成。VSCode のメニューから「ファイル」 > 「新しいファイル」の順にクリックします。ファイルの種類の選択が表示されたら「Python ファイル」をクリックします。エディタが開いたら、ソース コードを入力します。例えば、以下のようなコードを入力します。


a = "Hello, World!"
print(a)

 Python スクリプトを保存するには、メニューから「ファイル」 > 「名前を付けて保存」をクリックします。ファイル名を入力して保存します。保存するディレクトリを選択することもできます。

Python スクリプトを実行するためには、VSCode で「ターミナル」を開いて、実行します。または、画面の右上方にある Python デバッガーのアイコン▷をクリックします。ターミナルコンソールに、「Hello, World!」 と表示されると完了です。エラーがある場合には、エラーの内容が表示されます。

Jupyter Notebook の使用

 Python の仮想環境が有効化されていることを確認し、Jupyter をインストールします。「ターミナル」を開いて


$pip install jupyter (または)python -m pip install jupyte

 と実行します。

 VS Code で Jupyter Notebook を使用したいときは、拡張機能アイコンをクリックし「Jupyter」と入力し、Jupyter 拡張機能もインストールします。VS Code の初期画面上に Jupyter Notebook をする方法のチュートリアルがあります。チュートリアルのリストで、「その他」をクリックすると表示されます。

 Jupyter Notebook を開くには、VS Code で「ファイル」 > 「開く」をクリックして、Jupyter Notebook のファイルを選択します。ファイルを選択すると、Jupyter Notebook が開きます。Jupyter Notebook の使用するカーネルを指定する必要があります。「カーネルの選択」をクリックしてカーネルを指定します。

 Jupyter Notebook で Python スクリプトを実行するには、セルを選択して左上にある実行アイコンをクリックします。セルの実行結果が表示されます。


VS Code の Jupyter Notebook

 Jupyter Notebook で Python スクリプトを保存するには、メニューから「ファイル」 > 「名前を付けて保存」をクリックします。ファイル名を入力して保存します。保存するディレクトリを選択することもできます。


Github Copilot の使用法について


 GitHub Copilot を使用するためには、GitHub アカウントの作成と Visual Studio Code が必要です。Visual Studio Code は、Microsoft が提供する無料のコードエディタです。Visual Studio Code は、Windows、macOS、Linux で使用できます。

 GitHub アカウントの作成は、GitHub の公式サイトから行います。GitHub は、Git のリモートリポジトリを提供するサービスです。GitHub には、無料プランと有料プランがあります。無料プランでは、パブリックリポジトリのみ作成できます。有料プランでは、プライベートリポジトリも作成できます。

  GitHub アカウントを作成するには、以下の手順に従ってください。

  1. GitHub の公式サイトにアクセスします。
  2. Sign up をクリックします。
  3. ユーザ名、メールアドレス、パスワードを入力します。
  4. Create account をクリックします。
  5. プランを選択します。Free を選択します。
  6. Continue をクリックします。
  7. Welcome to GitHub をクリックします。
セキュリティのためには、基本的に2要素認証を使います。これで、GitHub アカウントの作成が完了しました。次に、Visual Studio Code をインストールします。

 ここで、GitHub Copilot 用の Extension (拡張機能)を VSCode に追加します。以下の手順に従ってください。

  1. VSCode を開きます。
  2. 左メニューの四角形が4つあるアイコン(拡張機能)をクリックします。
  3. 上部に出てくる検索用テキスト入力に「copilot」と入力します。
  4. 「GitHub Copilot」を選択し、「Install」ボタンをクリックします。
  5. インストールが完了したら、VSCode を再起動します。

これで、GitHub Copilot の拡張機能が VSCode に追加されました。

 VSCode の右上に GitHub Copilot のアイコンが表示されていれば GitHub Copilot が使えるようになっています。使用できない状態の時は、左下にある自身のアカウント・アイコンをクリックして、「Sign up for Copilot Free」 をクリックし、ブラウザ経由で GitHub にサインインします。

 同じようにして、GitHub Copilot Chat の拡張機能を VSCode に追加します。VSCode で Copilot のチャット機能が利用できます。

 Copilot Free には次の制限事項があります。コード補完は 1 か月あたり 2,000 回に制限されています。 Copilot Chat のチャット メッセージは 1 か月あたり 50 回に制限されています。 この制限には、VS Code と Visual Studio での標準チャットと複数ファイル編集チャットの両方が含まれます。

GitHub Copilot を使用して IDE でコードの提案を取得するを参照して下さい。

 VS Code で新しいPythonファイルを新規作成し、


# detect.py
import cv2

と入力すると、以下の提案が出ます。


# detect.py
import cv2

import numpy as np これが提案されたコード

このグレイ色の提案が目的に合致している場合、Tabキーを押して提案を受け入れます。提案されたコードが通常のテキスト色で表示され、カーソルが行の終わりに移動します。これで、次の行にコードを追加できます。続けて新しい提案が表示されます。これを繰り返すことで、コードを迅速に記述できます。


# detect.py
import cv2
import numpy as np
import torch

 ここで、GitHub Copilot に続きを書いてもらいましょう。自然言語で質問を記述し、それに対するコーディングの提案を受け取ることができます。インライン・チャットを利用するときは、エディター画面で右クリックをして、「Copilot」をクリックするとエディター内の行にチャット欄が表示されて、クエリ送信が可能になります。

 ここでは、右上にある Copilot のアイコンをクリックして、「チャットを開く」を開きます。「YOLO 8 を用いた物体検出のpythonコードを書いて下さい」と、copilot の GPT4o に質問します。以下の提案がきます。これを python エディターにコピペします。

 

# detect.py
import cv2
import numpy as np
import torch

# モデルの読み込み
model = torch.hub.load('ultralytics/yolov8', 'yolov8s')

# カメラの読み込み
cap = cv2.VideoCapture(0)

while cap.isOpened():
ret, frame = cap.read()
if not ret:
break

# 画像の前処理
img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
img = np.transpose(img, (2, 0, 1))
img = np.expand_dims(img, axis=0)
img = img / 255.0

# 推論の実行
results = model(img)

# 結果の描画
for result in results.xyxy[0]:
x1, y1, x2, y2, conf, cls = result
label = f'{model.names[int(cls)]} {conf:.2f}'
cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
cv2.putText(frame, label, (int(x1), int(y1) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)

# 結果の表示
cv2.imshow('YOLOv8 Detection', frame)

# 'q'キーが押されたらループを終了
if cv2.waitKey(1) & 0xFF == ord('q'):
break

# リソースの解放
cap.release()
cv2.destroyAllWindows()

このスクリプトを実行してみましょう。VSCodeの「ターミナル」を開いて、
$ python detect.py
と実行します。または、画面右上にある 再生ボタン ▷ をクリックします。これを実行すると、エラーが出ます。

 そこで、「このコードのmodel = torch.hub.load('ultralytics/yolov8','yolov8s') でエラーが出ます。」 とcopilot に聞きます。すると、以下の修正案が出てきます。


torch.hub.load

を使用する際にエラーが発生する場合、以下のようにYOLOv8のモデルを直接インポートしてみてください。
from ultralytics import YOLO

# モデルの読み込み
model = YOLO('yolov8s.pt')

 この修正案をコードに反映します。この修正案を実行すると、またしてもエラーが出ます。

 ここで、GPT4o を利用することをやめて、Copilot の LLM を Claude 3.5 に変更してみました。Claude 3.5 は以下のようなコードを提案してきました。


import cv2
import numpy as np
from ultralytics import YOLO

# YOLOv8モデルの読み込み
model = YOLO('yolov8s.pt')

# カメラのセットアップ
cap = cv2.VideoCapture(0)

while True:
# フレームの取得
ret, frame = cap.read()
if not ret:
print("カメラからのフレーム取得に失敗しました")
break

# 物体検出の実行
results = model(frame)

# 検出結果の描画
annotated_frame = results[0].plot()

# 結果の表示
cv2.imshow("YOLOv8 Detection", annotated_frame)

# 'q'キーで終了
if cv2.waitKey(1) & 0xFF == ord('q'):
break

# クリーンアップ
cap.release()
cv2.destroyAllWindows()

 VSCode で「ターミナル」を開いて、実行します。エラーなしに作動しました。PC のカメラからの映像の物体検出が実行されます。素晴らしい!OpenAI の GTP4o ではエラーなしのコードを作成することは困難ですが、Claude3.5ではスムーズにコードの作成ができました。


GitHub Copilot によるコード作成


Github の仕組みと git の使用法について


 GitHubとは、Gitの仕組みをオンライン上で動くようにしたサービスです。その用語の説明からします。

  • リポジトリ : 各自のPCで貯蔵庫、データなどを保存しておくディレクトリです
  • リモートリポジトリ : GitHub上の,データを保存している場所です
  • ローカルリポジトリ : GitHubにアップロードするPC上のファイルのディレクトリです
  • コミット : GitHubでは,GitHubにデータをアップロードするときに一時的にローカル環境にデータを登録すること
  • プッシュ : ローカル環境に登録していた(コミットされた)データをGitHubに送信&公開すること
  • ここでは,GitHubにデータを送信するまでの大まかな流れと仕組みを説明します
    ①ローカル・リポジトリを作成する
    ②ローカル・リポジトリにファイルを追加する
    ③追加したファイルをリポジトリに登録する
    ④追加・編集したファイルをリモート・リポジトリにプッシュする
    これで、GitHubへのアップロードは完了します。

     GitHubにアカウントの登録を復習します。GitHubのトップページにアクセスします。ここで、ユーザ名とメールアドレス、パスワードを入力して、アカウント登録を行います。Freeプランで登録するので、「Free」を選んでから「Finish sign up」ボタンをクリックします。

     では,GitHub上にリポジトリを作ります。GitHubにログインした状態で、TOPページ右下の,「+New Repository」を押してください。次に表示される画面では、「Repository name」の入力のあと、必要に応じて「Description」も入力します。また、リポジトリの種類を「Public」か「Private」を選択します。この「Private」リポジトリは、有料会員のみ作成することが可能です。無料の「Public」を選択します。必要項目の入力が終わり「Create repository」ボタンをクリックするとリポジトリの作成は完了です。表示されたページのURIを使いますので,とりあえずそのアドレスをメモって下さい。

     次に、ローカルのPC上にローカルリポジトリを作成します。今回は「hello」というディレクトリを作成することにします。

    
    $ mkdir hello
    $ cd hello
    $ git init
    
    

     「mkdir」は新しくディレクトリを作成するコマンドで、「cd」はディレクトリを移動するコマンドになります。Helloというディレクトリを作成し、そのディレクトリに移動してから作業を始めます。この「git init」コマンドはGitリポジトリを新たに作成するコマンドです。

     例えば、「README.md」のファイルをローカルリポジトリに追加しましょう。以下のコマンドでインデックスに追加します。インデックスとは、リポジトリにコミットする準備をするために変更内容を一時的に保存する場所のことです。

    
    $ git add README.md
     
    

     フォルダー内のすべてのファイルを追加する時は、" git add . " と打ちます。

    次に、インデックスに追加されたファイルをコミットします。コミットとは、ファイルやディレクトリの追加や変更をリポジトリに記録する操作のことです。

    
    $ git commit -m "add _new file"
     
    

     これで、リポジトリに対してファイルの追加が記録されました。ファイルが追加されているか確認します。

    
    $ git status
     
    

     さらに、リモートリポジトリに反映させる前に、リモートリポジトリの情報を追加します。この情報は、先ほどGitHub上に表示された、リモートリポジトリのアドレスです。今回は例を示します。

    
    $ git remote add origin https://github.com/  /hello.git
     
    

    ローカルリポジトリの変更を、GitHub上にあるリモートリポジトリに反映させるため、以下のコマンドを実行します。

    
    $ git push origin master
    
    

    GitHubのユーザ名とパスワードを尋ねられますので入力してください。これで、GitHubへプッシュしてリモートリポジトリへ反映させることができました。

    新しく作成したファイルをgitに追加、コミットすには、

    
    $ git add goodmorning.html
    $ git commit -m "add  a _new file "
    $ git push origin master
    
    

    これで、GitHub上のリモート・リポジトリに対してファイルの追加が完了しました。こでは、master ブランチだけを用いてます。

     なお、GitHub 上のリポジトリを新しく作成して、直接編集することもできます。自身のGitHubのページに行き、「Your repositories」をクッリクして、リポジトリのリストを表示させます。新しいリポジトリを作成するときは、「New」をクリックして、「Repository name」に名称を記入して作成します。

     新しいファイルを追加したいときは、対応するリポジトリを開きます。ローカルのPCからアップロードする時は「Upload files」をクリックします。もしくは、新しいファイルを編集して、追加したい時は「Create _new file」をクリックします。追加したファイルを確定するために、必ず、編集の変更などの「Commit _new file」を確定する必要があります。この確定を実行しないと、ファイルの変更などが登録されません。詳しくは、Getting started with GitHub を参照ください。

     GitHubのpublic keyを登録していないと、鍵のかかったrepoをgit clone する際、以下のようなエラーが出ます。
    git@github.com: Permission denied (publickey).
    fatal: Could not read from remote repository.
    このような公開鍵をかけたrepoをgit clone するために、public key を登録してから git cloneします。

     まずは、公開鍵と秘密鍵のペアを生成しましょう。鍵を入れる.sshフォルダに移動します。次に、コマンドで鍵を生成します。

    
    $cd ~/.ssh
    $ssh-keygen -t rsa
    
    

     はじめて鍵を生成するときは何も入っていないはずです。オプションは付けずに、このコマンドで十分です。

    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

     デフォルトのまま、3回エンターキーを押せば、id_rsaとid_rsa.pubの2つの鍵が生成されます。 なお、2回目、3回目はパスワード設定のようなものですが、この設定はなくて大丈夫です。

     GitHub に鍵を登録します。以下のgithub.com/settings/sshを開きます。「New SSH key」をクリックして、名称とキーの内容を登録します。

     鍵の中身のクリップボードへのコピーは以下のコマンドで可能です。

    $ pbcopy < ~/.ssh/id_rsa.pub # for Mac
    $ clip < ~/.ssh/id_rsa.pub # for Windows
    

    このページのトップへ

    Kerasを用いたDeep Learningのページへ

    github webページへ