5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

Github Copilot、使っていますか?
弊社ではGithub Copilotを全社導入しており、希望者は無償で使うことができます!
私もかれこれ1年ほど使い続けてきました。
そこで、基本的な使い方の備忘録と、具体的にどう使えばいいかを使用例を用いてまとめてみました!
よろしくお願いします。

Github Copilotとは?

GithubDocsには以下のように記述されています

GitHub Copilot は AI コーディング アシスタントであり、コードをより速く楽に記述できるため、問題解決とコラボレーションにより多くのエネルギーを集中できます。
GitHub Copilot は、開発者の生産性を向上させ、ソフトウェア開発のペースを加速することが実証されています。

Github Copilotは世界中で利用されているAI開発ツールであり、アプリケーションを作る時の様々な場面で活躍します。

Github Copilotの使い方

コード補完機能について

コード補完機能とは、コードを書き始めた時や、書きたいコードをコメントで記述した時に、名称や前後関係から判断してGithub Copilotが自動でコードを生成・提示をしてくれる機能です。

提案内容を開発者が判断して受け入れ可否を判断できます。

この機能を使う上でのポイントは意味のあるメソッド名や変数名をつけることです。

コード補完のショートカット

操作内容 ショートカットコマンド
補完案を受け入れる Tab
補完案を拒否する Esc
次の補完案を表示する Option + ]
前の補完案を表示する Option + [
補完案に示された単語ごとに受け入れる Ctrl +
複数の補完案を新しいタブに表示する Ctrl + Enter

Copilot Chatについて

Copilot Chatの使い方についてです。
チャット欄にプロンプトを打つことで、Copilotの応答を受け取ることができます。
ファイルの特定の行を選択してからチャットを送信することで、選択部分の内容を参照させての回答を得ることもできます。

ChatのUIについて

Chatを利用するためのUIは3種類あります。

  • Chat View
  • Quick chat
  • Inline chat

Chat View

VSCodeにCopilotを導入すると、左のメニューバーに「チャット」が現れます。
このチャットをクリックするか、Control + Command + i を押すことでチャットビューが開きます。

スクリーンショット 2024-12-19 20.54.17.png

Quick chat

VSCodeウィンドウ上部に表示されるポップアップからチャットをすることができます。
左のメニューバーをチャットにしたくない場合や、簡単なチャットを開始する場合に使用することができます。
Shift + Command + i を押すことでチャットビューが開きます。

スクリーンショット 2024-12-20 16.47.46(2).png

Inline chat

コード内からチャットをすることができます。
Command + i を押すことでどのファイル内であってもチャットビューが開きます。

image.png

Chat Participantsについて

Copilot ChatにはChat Participants(チャット参加者)が存在します。
それぞれの設定対象と役立つ使い所は以下の表の通りです。

Participants
@workspace 対象:ワークスペース内のコードに関するコンテキスト
使い所:「プロジェクトの構造」「コードの相互関係」「デザインパターン」
@vscode 対象:VSCodeのコマンドと機能に関するコンテキスト
使い所:「VSCodeのコマンド」「VSCodeのカスタマイズ」
@terminal 対象:VSCodeのターミナルシェルとその内容
使い所:「ターミナルコマンドの作成」「デバックに関する回答」
@azure 対象:Azureサービスに関するコンテキスト
使い所:「Azureサービスの使用方法」「Azureサービスのデプロイ方法」
*パグリックプレビュー段階

チャット欄に「@」を打つと、使用可能なチャット参加者を確認することができます。

スラッシュコマンドについて

スラッシュコマンドを使うことで、Copilotに指示を的確に伝えることができ、プロンプトの記述量を抑えることができます。スラッシュコマンドの使用例は以下の表の通りです。

@workspaceに対するスラッシュコマンド

コマンド 説明
@workspace /explain or /explain 選択したコードの機能を説明する
@workspace /fix or /fix 選択したコードのバグの修正提案をする
@workspace /new or /new 新しいプロジェクトを作成する
@workspace /tests or /tests 選択したコードのユニットテストを作成する
@workspace /newNotebook or /newNotebook 新しいJupyter Notebookを作成する

@terminalに対するスラッシュコマンド

コマンド 説明
@terminal /explain or /explain 選択したターミナルコマンドを説明する

@vscodeに対するスラッシュコマンド

コマンド 説明
@vscode /search or /search VS Codeの検索機能でワークスペース内のコードやファイルを検索する

その他スラッシュコマンド

コマンド 説明
/clear 新しいチャットを開始する
/help Github Copilotの使い方に関するヘルプを見る

Github Copilotの使用例

Github Copilotはアプリケーションの開発のあらゆる画面で使うことができます。
それぞれの場面での使用例を示します。

コードプロジェクトの作成

@workspace /new xxxxを利用したウェブアプリケーションを作成します。
プロジェクトの雛形を作成してください。Javaのパッケージはxxxxを使用してください。
READMEとMITライセンスも作成してください。

とチャットを打つことでIDEを通してファイルやディレクトリを作成することができます

テストコードの作成

テストコードを書いて欲しいアプリケーションコード部分をカーソルで選択し、

/test

とチャットを打つことでテストコードが生成されます。
このテストコードは既存のアプリケーションロジックに対して生成されます。
モック・テストバリデーションの指定も可能です。

テストデータの作成

テストデータのバリデーションを考えてください

とチャットを打つことでテストデータが生成されます。
データのバリデーションパターンを考慮して作成されます。また、データバリデーションのパターンを指定することで様々なバリデーションに対応することもできます。

構成情報ファイルの作成

Terraformを使用してアプリケーションをAzure App Serviceにデプロイするテンプレートを作成してください。

このようなチャットを打つことで、Terraformのテンプレートを生成することができます。
他にも、コードの依存関係を生成することも可能です。

コードドキュメントの生成

xxxの設計内容をマークダウン形式でまとめてください

このようなチャットを打つことで、ドキュメントを作成することができます。
クラス責務の概要・変数やメソッドなどの解説・該当クラスの依存関係が記述されるほか、ドキュメントに追加したい項目やレイアウトの指定などの要求も可能です。

CLIコマンドの生成

@terminal Gitにpushしたい

このようなチャットを打つことで、内容に対応したCLIコマンドを生成することができます。

おわりに

Github Copilotを導入する前と導入した後では開発スピードがだいぶ速くなったのですが、それでも今回調べていて使いきれていない機能がたくさんありました。

今後もうまくCopilotを使用して、どんどん開発スピードを上げていきたいと思います!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?