![見出し画像](https://assets.st-note.com/production/uploads/images/152515691/rectangle_large_type_2_6f3bfa328ddc236c6b6f0979dcbba696.png?width=1200)
GitHub Copilotを初めて使ってみる #2.基本利用編
前回の「#1.導入編」の続きとなります。
5. GitHub Copilotコード自動生成
さて、ここからはGitHub Copilotの真骨頂である「コード自動生成」の機能に焦点を当てていきます。前回は簡単な関数を生成しましたが、今回は少し複雑な処理を含むコードを生成してみましょう。
例えば、以下のようなケースを考えてみます。
タスク: ユーザーが入力した文字列を逆順にし、特定の単語が含まれている場合はその単語をハイライトする機能を作成したい。
この場合、コメントとして以下のように記述します。
# 文字列を逆順にし、特定の単語をハイライトする関数
# 引数: text(文字列)、highlight_word(ハイライトする単語)
# 戻り値: ハイライトされた文字列
GitHub Copilotは、次のようなコードを生成してくれるでしょう。
def highlight_word_in_reverse(text, highlight_word):
reversed_text = text[::-1]
highlighted_text = reversed_text.replace(highlight_word[::-1], f"*{highlight_word[::-1]}*")
return highlighted_text
このコードでは、まず文字列を逆順にし、次に指定された単語が含まれている場合、その単語をハイライトしています。このように、Copilotは複雑なロジックを持つコードも簡単に生成することができます。
![](https://assets.st-note.com/img/1725014126339-IsCNJT2Msi.png?width=1200)
![](https://assets.st-note.com/img/1725014208039-cYdpUzCAAY.png?width=1200)
6. GitHub Copilotテストコード自動生成
アプリケーション開発において、テストコードの重要性は言うまでもありません。GitHub Copilotは、テストコードの自動生成にも対応しています。例えば、先ほどの関数に対するテストコードを自動生成させてみましょう。
テストコードを生成したい場合、以下のようにコメントを書きます。
# highlight_word_in_reverse関数のテストコード
このコメントに基づいて、Copilotは次のようなテストコードを提案するかもしれません。
def test_highlight_word_in_reverse():
assert highlight_word_in_reverse("hello world", "world") == "dlro*w* olleh"
assert highlight_word_in_reverse("python programming", "python") == "gnimmargorp *nohtyp*"
assert highlight_word_in_reverse("github copilot", "pilot") == "tolip *po*htig"
assert highlight_word_in_reverse("no match", "test") == "hctam on"
このように、テストコードも自動生成できるため、手動で一行一行書く手間が大幅に削減されます。
7. GitHub Copilot Chat
GitHub Copilotのもう一つの強力な機能が「Copilot Chat」です。Copilot Chatは、AIとの対話を通じてコーディングをサポートする機能で、具体的な質問に答えたり、コードの問題を解決する手助けをしてくれます。
例えば、以下のように質問することができます。
この関数にバグがあるかどうか教えてください。
すると、Copilotはその関数を解析し、潜在的なバグや改善点を提案してくれる場合があります。また、特定のタスクに対する最適なアプローチについて相談することも可能です。
この機能は、特に複雑なロジックや、慣れないフレームワークを使用する際に非常に役立ちます。
![](https://assets.st-note.com/img/1725014361685-2iPsUBlrKL.png?width=1200)
![](https://assets.st-note.com/img/1725014499368-RaApJULAlF.png?width=1200)
![](https://assets.st-note.com/img/1725014672464-qiUMV8iYNk.png?width=1200)
![](https://assets.st-note.com/img/1725014934271-m0nfxIFRJy.png?width=1200)
![](https://assets.st-note.com/img/1725014972786-PxD0SIfxqY.png?width=1200)
![](https://assets.st-note.com/img/1725015005533-hH3WVqhdLl.png?width=1200)
8. GitHub Copilot ドキュメント生成
最後に、GitHub Copilotを使ってコードのドキュメントを自動生成する方法について紹介します。コードに適切なコメントやドキュメントがないと、後からのメンテナンスや他の開発者との共有が難しくなります。Copilotは、ドキュメントの生成も支援してくれます。
例えば、以下のように簡単なコメントを書いて、関数の説明を生成させることができます。
# 関数の説明
# 入力: なし
# 出力: "Hello, World!"を返す関数
このコメントを基に、Copilotは次のようにドキュメント化された関数を生成します。
def say_hello():
"""
"Hello, World!" を返す関数
引数:
なし
戻り値:
str: "Hello, World!" という文字列を返します。
"""
return "Hello, World!"
このように、関数のドキュメントを自動生成することで、コードの可読性や保守性が大幅に向上します。
![](https://assets.st-note.com/img/1725015337387-MzmnOcF9wk.png?width=1200)
![](https://assets.st-note.com/img/1725015375457-NrKyTwWYkn.png?width=1200)
![](https://assets.st-note.com/img/1725015526083-H44zFBecB8.png?width=1200)
これで、GitHub Copilotの主要な機能を一通りカバーしました。GitHub Copilotは、コーディングのあらゆる段階で役立つツールであり、開発プロセス全体を加速させる力を持っています。この記事を参考に、ぜひGitHub Copilotを活用してみてください。