top of page

GitHub Copilotを活用する15のTips:AIアシスタントとの協働で開発効率を飛躍的に向上!

近年、AI技術の急速な発展により、GitHub CopilotのようなAIアシスタントがソフトウェア開発の現場で活用されるようになってきた。GitHub Copilotは、開発者のコーディングをサポートし、生産性を向上させるツールとして注目を集めている。本記事では、「Using GitHub Copilot in your IDE: Tips, tricks and best practices」という記事を基に、GitHub Copilotを活用するための15のTipsをまとめている。


 

1. 適切で十分なコンテキストの提供

GitHub Copilotに適切なコードを生成させるためには、十分なコンテキストを与えることが重要だ。関連するファイルを開いておくことで、GitHub Copilotはプロジェクトの全体像を把握し、より正確なコード補完を行うことができる。


例えば、あるファイルで関数を定義し、別のファイルでその関数を呼び出している場合、両方のファイルを開いておくことで、GitHub Copilotは関数の用途や使用方法を理解し、適切なコード補完を提案してくれる。


また、ファイルの先頭にコメントを追加し、そのファイルの役割や全体的な概要を説明することも効果的だ。これにより、GitHub Copilotはファイルの目的を理解し、そのコンテキストに沿ったコードを生成することができる。


2. 意味のある名前付け

変数や関数の名前は、その目的を明確に表すものにすべきだ。GitHub Copilotは、名前からコードの意図を推測するため、意味のある名前付けは非常に重要である。


抽象的な名前の関数では、GitHub Copilotは関数の目的を理解することが難しく、適切なコードを生成できない可能性がある。一方、意味のある名前を付けることで、関数の目的が明確になり、GitHub Copilotはコードの意図を理解し、より適切なコード補完を行うことができる。


3. インラインチャットの活用

GitHub Copilotには、インラインチャット機能が搭載されている。この機能を使うと、コードの間でAIアシスタントとやり取りができ、簡単な質問や修正を行うことができる。


インラインチャットを開始するには、コマンド+I(WindowsではCtrl+I)を押す。すると、カーソル位置にチャットウィンドウが表示される。ここで、GitHub Copilotに質問を投げかけたり、コードの説明を求めたりすることができる。

活用することで、コードに関する疑問をその場で解決することができる。


4. 不要なリクエストの削除

GitHub Copilotとのチャットでは、会話の流れを整理することが重要だ。不要になったリクエストや質問は、チャットインターフェースから削除しよう。


過去の質問が残っていると、GitHub Copilotは古い情報に基づいてコードを生成してしまう可能性がある。チャット履歴を整理することで、GitHub Copilotに必要な情報のみを与え、より適切なコード補完を得ることができる。


削除したい質問やリクエストにカーソルを合わせ、表示される「Delete」ボタンをクリックすることで、その項目を削除できる。


5. ワークスペースエージェントの利用

VS CodeやVisual Studioを使用している場合、ワークスペースエージェント(@workspace)を活用することで、プロジェクト全体に関する質問に答えてもらうことができる。


ワークスペースエージェントは、現在開いているワークスペース内のすべてのファイルやディレクトリを認識している。これにより、プロジェクトの構造や依存関係を理解し、より適切なコードを生成することができる。


ワークスペースエージェントを使用するには、チャットウィンドウで@workspaceを入力する。すると、ワークスペースに関連する質問を投げかけることができる。

これを活用することで、プロジェクト全体に関する情報を得ることができる。


6. 関連するコードのハイライト

GitHub Copilotにコードについて質問する際は、関連するコードを選択してハイライトすることで、より的確な回答を得ることができる。


コードをハイライトすることで、GitHub Copilotはその部分に着目し、周辺のコンテキストを考慮して回答を生成する。これにより、質問に対してより具体的で適切な回答が得られる。

関連するコードをハイライトすることで、GitHub Copilotはコードの特定の部分に着目し、より詳細な説明を提供してくれる。


7. スラッシュコマンドの活用

GitHub Copilotには、スラッシュコマンドと呼ばれる便利な機能が用意されている。スラッシュコマンドを使うことで、コードの説明、修正、テストの生成などを素早く行うことができる。


よく使われるスラッシュコマンドには、コードの説明を生成する`/explain`、コードの問題点を指摘し修正案を提示する`/fix`、選択したコードに対するテストケースを生成する`/tests`などがある。


これらのスラッシュコマンドを使用するには、コードの関連部分を選択し、チャットウィンドウでコマンドを入力する。スラッシュコマンドを使うことで、コードの詳細な説明を得たり、コードの改善やテスト生成を行ったりすることができる。

コマンド

説明

使用方法

/explain

コードの説明を取得

説明したいコードを含むファイルを開くか、コードを選択して以下のように入力:/explain fetchPredictionメソッドの役割は何ですか?

/fix

選択したコードの問題に対する修正案を受け取る

問題のあるコードを選択して以下のように入力:/fix fetchAirportsルートの問題に対する修正案を提案してください

/tests

選択したコードに対するユニットテストを生成

テスト対象のコードを含むファイルを開くか、コードを選択して以下のように入力:/tests

/help

Copilot Chatの使用方法に関するヘルプを取得

以下のように入力:/help あなたには何ができますか?

/clear

現在の会話をクリア

以下のように入力:/clear

/doc

ドキュメンテーションコメントを追加

コードを選択して以下のように入力:/doc エディタ内でコマンド+Iを押し、インラインで/doc/と入力することもできます

/generate

質問に答えるコードを生成

以下のように入力:/generate 電話番号を検証するコードを生成してください

/optimize

選択したコードの実行時間を分析・改善

コードを選択して以下のように入力:/optimize fetchPredictionメソッドを最適化してください

/simplify

選択したコードを簡略化

コードを選択して以下のように入力:/simplify

/feedback

チームにフィードバックを提供

以下のように入力:/feedback


8. 関連ファイルの添付

GitHub Copilotは、コードの文脈を理解するために、関連するファイルの情報を活用する。Visual StudioやVS Codeを使用している場合、`#file`を使用して関連ファイルを添付し、GitHub Copilotにコンテキストを与えることができる。


関連ファイルを添付するには、チャットウィンドウで`#file`に続けてファイル名を入力する。複数のファイルを添付する場合は、`#file`を繰り返し使用する。

これにより、GitHub Copilotはこれらのファイルの内容を参照し、より適切なコードを生成することができる。


活用する事で、GitHub Copilotはプロジェクトの構造や依存関係を理解し、コードの生成や修正の提案をより的確に行うことができる。


9. デバッグにGitHub Copilot Chatを活用

コードのデバッグは、開発者にとって重要なタスクだが、時間と労力を要する作業である。GitHub Copilot Chatを活用することで、デバッグ作業を効率化できる。


コードにバグがある場合、まずはGitHub Copilot Chatで助けを求めてみよう。問題のあるコードを選択し、チャットウィンドウで問題の概要を説明する。GitHub Copilotは、コードを分析し、問題点の指摘や修正案の提示を行ってくれる。


GitHub Copilot Chatは、問題の原因を分析し、具体的な修正案を提示してくれる。これにより、開発者はバグの原因を素早く特定し、適切な対策を講じることができる。


ただし、GitHub Copilotが提示する修正案は、あくまで提案であることに注意しよう。最終的には開発者自身が修正内容を検証し、適切な判断を下す必要がある。


活用することで、問題の特定と修正に要する時間を大幅に短縮できる。外部リソースを探す前に、まずはGitHub Copilot Chatで助けを求めてみることをおすすめする。


10. コンテキストを意識したファイルの管理

GitHub Copilotにコンテキストを提供するために、関連するファイルを開いておくことが重要だ。しかし、不要なファイルを開きっぱなしにしておくと、コンテキストが混乱してしまう可能性がある。


タスクが切り替わったり、次の作業に移る際には、不要なファイルを閉じるようにしよう。これにより、GitHub Copilotは現在のタスクに関連するファイルのみを参照し、より適切なコードを生成することができる。


また、ファイルを閉じる際には、変更内容を保存することを忘れずに。未保存の変更があると、GitHub Copilotがそれらの変更を認識できない場合がある。


11. サンプルコードの提供

GitHub Copilotにサンプルコードを提供することで、求めているコードの言語やタスクを明確に伝えることができる。サンプルコードは、現在のコーディング基準やプラクティスに合わせて提供することで、より適切な提案を得られる。


特に、データ処理や文字列操作を行う際には、サンプルコードが役立つ。サンプルコードを提供することで、GitHub Copilotは求められているタスクを理解し、より適切なコードを生成することができる。


12. 具体的なインプットの重要性

GitHub Copilotに具体的な情報を与えることで、より良い出力を得ることができる。関数やメソッドのコメントには、詳細な説明を記載し、期待する動作を明確に伝えよう。


関数の目的や期待する動作が明確でないコメントでは、GitHub Copilotはその関数の実装を適切に提案することが難しい。より具体的な情報を提供することで、GitHub Copilotは求められている処理を的確に理解し、適切なコードを生成することができる。


13. 会話の整理とスレッドの活用

GitHub Copilot Chatでは、会話を整理することが重要だ。不要になったリクエストは削除し、会話の流れを改善しよう。


また、異なるトピックの会話は、スレッドを使って分離することができる。スレッドを適切に活用することで、会話の管理がしやすくなる。


新しいスレッドを開始するには、チャットインターフェースの「+」ボタンをクリックする。これにより、新しい会話を開始することができる。関連するトピックごとにスレッドを分けることで、会話の内容を整理し、必要な情報にアクセスしやすくなる。


14. 魔法の輝きに注目

VS Codeでは、"魔法の輝き"と呼ばれるアイコンが表示される場合がある。これは、GitHub Copilotがその場所で支援できることを示している。


コミットコメントやインラインコメントなどで魔法の輝きが表示されたら、積極的にクリックしてGitHub Copilotの支援を受けよう。GitHub Copilotは、コンテキストに基づいて適切なコメントやコードを提案してくれる。


15. GitHub Copilotが得意とする分野の理解

GitHub Copilotは、さまざまな分野で優れた能力を発揮する。特に、ボイラープレートコードの生成、ユニットテストの作成、ドキュメンテーションの生成、パターンマッチング、珍しい構文の説明、cronジョブやRegexの作成、デバッグなどの領域では、GitHub Copilotの支援が効果的だ。


これらの分野では、GitHub Copilotの提案が特に役立つ。GitHub Copilotが得意とする領域を理解し、適切な場面で活用することで、開発効率を大幅に向上させることができる。


ただし、GitHub Copilotが提案するコードをそのまま使用するのではなく、常に内容を確認し、必要に応じて修正を加えることが重要だ。GitHub Copilotは開発者をサポートするツールであり、最終的な判断は開発者自身が下す必要がある。


 

まとめ


本記事では、参照先の記事を基にGitHub Copilotを活用するための15のTipsをまとめてみた。適切なコンテキストの提供、意味のある名前付け、インラインチャットの活用など、GitHub Copilotとのコミュニケーションを改善するためのさまざまな方法がある。

また、ワークスペースエージェントの利用、関連するコードのハイライト、スラッシュコマンドの活用など、GitHub Copilotの便利な機能を効果的に使うことで、コードの生成や修正、テストの作成などを素早く行うことができる。

さらに、関連ファイルの添付やGitHub Copilot Chatを活用したデバッグ方法、コンテキストを意識したファイル管理、サンプルコードの提供、具体的なインプットの重要性、会話の整理とスレッドの活用、魔法の輝きへの注目、GitHub Copilotが得意とする分野の理解などもまとめた。


これらのTipsを活用することで、開発者はGitHub Copilotとの協働をより円滑に進め、開発効率を飛躍的に向上させることができるだろう。ただし、GitHub Copilotはあくまでも補助的なツールであり、最終的な判断は開発者自身が下す必要がある。GitHub Copilotからの提案を鵜呑みにせず、常に批判的に検証することが重要であると参照先の記事にも記されている。


GitHub Copilotを上手に活用し、AIアシスタントとの協働を通じて、開発者の生産性と創造性を最大限に引き出していただきたい。




Commentaires


Les commentaires ont été désactivés.
bottom of page