AI

GitHub Copilotの使い方|初級編

World Administrator
2023年11月28日
7 分で読めます
ProgrammingProductivity Hacks
Photo by Lukas / Unsplash

目次

AIとのペアコーディングツールの代名詞GitHub Copilotを使い始めるための、簡単なガイドを作りました。

このサイトではプログラミング初心者、特に学生にこそGitHub Copilotを使ってほしいと以前から主張しています。

実際にどうやって導入するか、どうやって使うのかについて詳しくかけていなかったので、項目の説明などの本稿で行います。

参考にして親切なお友達としてAIを活用してプログラミングを楽しんでもらえたらと思います。

GitHub Copilot · Your AI pair programmer
GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.

費用

学生は無料です。

一般ユーザーの場合、Copilot Individualプランを契約する必要があります。2023/11/28時点では月$10または年$100の価格設定となっています。

GitHub Copilot · Your AI pair programmer
GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.

利用可能なエディター

GitHub Copilotはプラグイン形式で提供されています。

そのため、現在使われているほとんどすべてのエディターで利用可能です。

Visual Studio Code

エディターを利用している方は現在Visual Studio Codeを利用している方が多いと思います。Visual Studio Codeは利用できます。

GitHub Copilot - Visual Studio Marketplace
Extension for Visual Studio Code - Your AI pair programmer

導入方法についてはMicrosoftがドキュメントを公開しています。

参考にしてください。

Use GitHub Copilot to enhance your coding with AI
Enhance your coding with AI-powered suggestions from GitHub Copilot in Visual Studio Code.

Emacs/Vim

エディターにこだわりのある方はEmacsやVimを利用している方もいると思いますが、利用できます。

GitHub - zerolfx/copilot.el: An unofficial Copilot plugin for Emacs.
An unofficial Copilot plugin for Emacs. Contribute to zerolfx/copilot.el development by creating an account on GitHub.
GitHub - github/copilot.vim: Neovim plugin for GitHub Copilot
Neovim plugin for GitHub Copilot. Contribute to github/copilot.vim development by creating an account on GitHub.

IDE

C++やC#、Javaなどの言語を扱っている方は、IDEを利用している方もいると思います。

Visual Studio

Visual StudioでCopilotを利用できます。

Visual StudioではCopilot Chatも用意されています。

GitHub Copilot - Visual Studio Marketplace
Extension for Visual Studio - GitHub Copilot is an AI pair programmer that helps you write code faster and with less work. Requires Visual Studio 2022 17.5.5 or later.
GitHub Copilot Chat - Visual Studio Marketplace
Extension for Visual Studio - GitHub Copilot Chat brings fully integrated AI-powered Copilot chat experiences to Visual Studio. Requires a GitHub ID which has been admitted for access to the private preview.

導入方法についてはMicrosoftのドキュメントがあります。

参考にしてください。

Visual Studio の GitHub Copilot 拡張機能について - Visual Studio (Windows)
Visual Studio と GitHub Copilot 拡張機能を一緒に使用して、AI を活用し、コードに関する詳細情報、提案された編集、さらには新しいコード スニペットも生成します。

JetBrains製各種IDE

特にJavaやPythonあるいはUnityなどでC#を利用している方はJetBrains製のIDEを好んでいる方もいると思います。

JetBrains製のIDEではとてもシームレスに統合されています。

しかし、人によってはプラグインがうまくどうさせず、IDEがクラッシュすることもあるそうです。レビューを見ると、Pluginの完成度が低いことで低い評価が目立ちます。Microsft(GitHub)がリリースしているのですが、何が起きているのでしょうか。

GitHub Copilot - IntelliJ IDEs Plugin | Marketplace
What’s GitHub CopilotGitHub Copilot provides autocomplete-style suggestions from an AI pair programmer as you code. You can receive suggestions from GitHub Copilot…

プラグインをインストールし、画面の案内に従えば導入できます。

使い方

💡
コメントを書きまくりましょう。

コメントが多ければ多いほどいいです。

コメントが生成されるコード品質に大きく関わります。

とにかくコメントを書きまくるだけで、コードは勝手に書いてくれますし、うまく動かなかったらさらにコメントを書くだけで、修正候補を提示してくれます。

とにかくコメントが大事だということを頭に入れておくといいでしょう。

コーディング中に優秀な補完機能として使う

Visual Studio Codeのデフォルトショートカットを元に紹介します。

入力中にGitHub Copilotの補完するコードをTabで確定させることができます。

しかし、GitHub Copilotの提案するコードが長すぎて、途中までだけ確定させたいときがあります。そういったときはCtrl + →で単語単位で確定させることができます。

全部気に入らないという場合は、Escですべて却下できます。

使い方を見てわかったと思いますが、GitHub CopilotのSuggestは各エディターの提供する補完機能を利用して我々にSuggestされます。

つまり、補完などに割り当てているキーバインドですべて操作可能です。

前後のSuggestを見る場合はAlt + [またはAlt + ]で移動可能です。

別画面で複数のSuggestを見たい場合はCtrl + Enterで開くことができます。

コメントからコードを生成する

さっぱりコードが浮かばない、またはボイラーテンプレートを書くのをめんどくさい場合に利用できる方法です。

各言語のコメントを利用してAIに指示をします。

例えばPythonでは以下のような感じです。

// 1から100までのすべての整数の和を求める

あるいはHTMLでは以下のような感じです。

<!-- ロゴとページ名および問い合わせ先へのリンクを含むヘッダー -->

わかりやすいコードのために、コメントをちりばめる感覚でコードを生成することができます。

生成されるコードの質を上げる

相手が人間だと思って書くと生成されるコードの質が向上します。

具体的には以下のようなことをするといいでしょう。

  • 関数名をわかりやすくする
  • 型を積極的に利用する
  • コメントを書く|最重要
    • 関数の意味を書く
    • クラスの内容、目的を書く
    • データをどのように利用するのか書く
    • 与えるデータについて書く
    • 求める出力内容について書く

IDE Brushesを利用する

Codeを生成するだけならば、GitHub Copilot出なくとも生成系AIならどれでも一応はできます。

GitHub Copilotの優れている部分に、IDE Brushesという機能があり、機能が開発では非常に助かります。

GitHub Copilot · Your AI pair programmer
GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.

IDE Brushesはツールバーで提供されており、現在では以下のものが利用できます。

  • IDE Brushes: Suggest test
    • デバッグ用のテストコードを提案します
  • IDE Brushes: Make this code more readable
    • コードを読みやすく書き換える
  • IDE Brushes: Add Types to this code
    • コードに型を追加する
  • IDE Brushes: Find a bug in this code
    • コード内のバグを見つける
  • IDE Brushes: Make this code easier to debug
    • デバッグしやすいようなコードに書き換える
  • IDE Brushes: Clean up this code
    • ごちゃごちゃしたコードをきれいに整える
  • IDE Brushes: Document the steps of this code
    • コードにコメントで説明を加える
  • IDE Brushes: Make this code more robust
    • コードをよりどこでも動くものにする(CSSなどを想像してください)
  • IDE Brushes: Break this code into smaller chunks
    • コードを小さな要素に分割する
  • IDE Brushes: Document this code
    • ドキュメントを自動的に生成します
  • IDE Brushes: Use a custom brush
    • Github Copilotに自分で機能を指定することができます

機能ごとに分けると以下のようになります。

  • デバッグコードの提案
    • IDE Brushes: Suggest test
    • IDE Brushes: Find a bug in this code
    • IDE Brushes: Make this code easier to debug
  • コードの整形
    • IDE Brushes: Clean up this code
  • コードの質を向上させる
    • IDE Brushes: Make this code more readable
    • IDE Brushes: Add Types to this code
    • IDE Brushes: Document the steps of this code
    • IDE Brushes: Make this code more robust
    • IDE Brushes: Break this code into smaller chunks
    • IDE Brushes: Document this code
    • IDE Brushes: Use a custom brush

各機能が割り当てられたツールバーをクリックするだけなので、簡単に使えると思います。

どんな動作をするのかよくわからなかった人は以下のページを見ると一発でわかると思います。素晴らしいサイトです。

GitHub Next | Code Brushes
GitHub Next Project: Can editing code feel more tactile, like painting with Photoshop brushes? We added a toolbox of brushes to our Visual Studio Code extension that can modify your code.

プライバシーについて

GitHubからGitHub Copilotがあなたのコードを使って学習しない用に設定できます。

設定項目の名称や項目は今後の更新によって変わるかもしれないので、公式ドキュメントへのリンクを載せておきます。

GitHub.com での GitHub Copilot 設定の構成 - GitHub Docs
GitHub.com の個人設定を変更して、GitHub Copilot の動作を構成できます。 これは、サポートされている IDE で GitHub Copilot がどのように機能するかに影響します。

結語

GitHub Copilotの機能について、基本的な機能だけですが、理解できたでしょうか。

AIによって初心者でも小さな段差でつまずいてしまうことが少なくなるかもしれませんね。

プログラミングを始めたての方こそ、AI後からとともにストレスフリーに楽しくプログラミングスキルを鍛えていってください。