GitHub Copilotを補完候補の表示だけで使っていると、複雑なコードの修正やリファクタリングに活用しきれないことがあります。インラインチャットを使えば、エディター上でコードの意図を自然文で伝え、現在のファイルや選択範囲に対する変更案を作成できます。
この記事では、GitHub Copilot インラインチャットの基本的な使い方から、実務で使える指示の出し方、変更内容の確認、テストやセキュリティに関する注意点まで説明します。なお、利用できる機能や表示、料金、組織の設定は、契約プラン、GitHubのポリシー、利用するエディターのバージョンによって異なる場合があります。
GitHub Copilotのインラインチャットとは
インラインチャットは、コードエディター内でGitHub Copilotに質問や変更指示を送り、現在のコードに対する回答や編集案を受け取る機能です。コードを別のチャット画面へコピーする必要がなく、カーソル位置や選択範囲を文脈として指示できます。
たとえば、次のような依頼に向いています。
- 選択した関数の処理内容を説明する
- エラーハンドリングを追加する
- 読みやすいコードへリファクタリングする
- 型定義やコメントを追加する
- 既存の関数に対応するテストコードを作成する
- 特定の条件を満たすようにコードを修正する
結論として、インラインチャットを本格的な開発に活用するには、対象範囲を明確にする、変更条件を具体的に書く、差分を確認してから適用するという3点が重要です。
対応環境と利用前に確認すること
インラインチャットは、GitHub Copilotに対応したエディターや拡張機能から利用します。ここでは代表例としてVisual Studio Code(VS Code)を前提に説明します。
実際に利用できる機能は、次の条件によって変わることがあります。
- GitHub Copilotの契約プランやアカウント状態
- VS Code本体とGitHub Copilot関連拡張機能のバージョン
- 会社や学校などの管理者によるポリシー設定
- 利用するモデルや機能の提供状況
- ネットワーク、プロキシ、ファイアウォールの設定
ショートカットやメニュー名はアップデートによって変更される可能性があります。操作できない場合は、VS Codeのコマンドパレットやキーボードショートカット設定で「Inline Chat」や「インラインチャット」を検索してください。
VS Codeでインラインチャットを使う手順
1. GitHub Copilotを利用できる状態にする
- VS Codeをインストールし、最新の安定版に更新します。
- GitHub Copilot関連の拡張機能を確認し、GitHubアカウントでサインインします。
- 対象プロジェクトをワークスペースとして開きます。
- 必要に応じて、プロジェクトで使用する言語の拡張機能や実行環境を準備します。
Copilotの候補が表示されない場合は、サインイン状態、拡張機能の有効化、ネットワーク接続、組織のポリシーを確認します。
2. 対象コードを選択する
修正したい関数、クラス、条件分岐などをエディター上で選択します。選択範囲を指定すると、Copilotに対して「どのコードを変更するのか」を伝えやすくなります。
ファイル全体に関係する依頼でも、最初は変更対象の関数や処理ブロックを選択するほうが、意図しない編集を抑えやすくなります。
3. インラインチャットを開く
VS Codeでは、環境によってはCtrl+I(macOSではCommand+I)でインラインチャットを開けます。ただし、キーバインドは変更されている可能性があるため、反応しない場合はコマンドパレットからインラインチャットを実行してください。
入力欄が表示されたら、変更したい内容を自然文で指示します。最初から「全部直して」のように曖昧に依頼するのではなく、対象、目的、制約、期待する結果を含めると精度を上げやすくなります。
4. 変更案を確認して適用する
Copilotが生成した回答や差分を確認し、問題がなければ適用します。適用前に、次の点を確認してください。
- 依頼した範囲以外が変更されていないか
- 変数名や関数名がプロジェクトの規約に合っているか
- 例外処理や入力値の検証が不足していないか
- 既存の仕様やAPIとの互換性が保たれているか
- 不要な依存関係や機密情報が追加されていないか
変更を適用した後は、Gitの差分表示で確認し、必要なら元に戻します。Copilotの提案は完成した実装ではなく、開発者がレビューするための候補として扱うことが大切です。
実務で使える指示文の作り方
目的・制約・出力を具体化する
インラインチャットへの指示は、次の要素を入れると実用性が高まります。
- 目的:何を実現したいか
- 対象:どの関数、クラス、選択範囲を変更するか
- 制約:使用するライブラリ、互換性、コーディング規約
- 例外:失敗時や空データの扱い
- 出力:コード変更、説明、テストなど何を求めるか
たとえば、単に「改善して」と書くよりも、「この関数をTypeScriptの型を保ったまま整理し、空配列の場合は空の結果を返し、外部ライブラリは追加せず、変更理由を説明してください」と書くほうが、確認すべきポイントが明確になります。
用途別のプロンプト例
説明を求める場合:
「この関数の処理を、入力、戻り値、例外が発生する条件に分けて説明してください。コードは変更しないでください。」
リファクタリングする場合:
「この処理を読みやすくリファクタリングしてください。公開されている関数の引数と戻り値は変更せず、重複処理を減らしてください。変更理由も示してください。」
バグ修正を依頼する場合:
「このコードで入力が空文字のときに発生する問題を修正してください。正常系の動作は維持し、修正した条件と追加した検証を説明してください。」
テストを作成する場合:
「この関数のユニットテストを作成してください。正常系、空の入力、境界値、エラーが発生するケースを含め、既存のテストフレームワークの書式に合わせてください。」
インラインチャットで本格的な開発を進めるワークフロー
- Gitなどで作業前の状態を保存し、変更を戻せるようにします。
- 対象となる関数やファイルを読み、現在の仕様を確認します。
- 選択範囲を指定して、Copilotに処理の説明を求めます。
- 変更目的と制約を含む指示を送り、差分を確認します。
- 小さな単位で変更を適用し、ビルドやテストを実行します。
- エラーが出た場合は、エラーメッセージ、再現条件、期待する動作を添えて再度質問します。
- 最終的に人間がコードレビューを行い、コミットします。
複数ファイルにまたがる大規模な変更や、リポジトリ全体の調査が必要な作業では、インラインチャットだけに限定しないほうが効率的です。VS CodeやGitHub Copilotで利用できる通常のチャット機能、エージェント関連機能などが適している場合もあります。ただし、機能名や利用条件は環境によって異なるため、実際の画面と公式ドキュメントで確認してください。
インラインチャットを使うときの注意点
生成コードをそのまま本番投入しない
Copilotは、プロジェクトの意図や最新の仕様を完全に理解しているとは限りません。存在しないAPI、古い書き方、誤った型、十分でないエラー処理を提案することがあります。
特に認証、決済、個人情報、権限管理、ファイル操作、外部入力を扱うコードは、生成結果を必ずレビューし、必要に応じて専門家やセキュリティ担当者が確認してください。
機密情報を入力しない
プロンプトやコードに、APIキー、パスワード、アクセストークン、顧客情報、非公開の個人情報を含めないでください。会社で利用する場合は、利用規約や管理者ポリシー、データの取り扱いに関する社内ルールを確認します。
秘密情報が誤ってコードに含まれていた場合は、削除するだけでなく、漏えいの可能性に応じてキーの無効化や再発行も検討します。
テストと静的解析を組み合わせる
コードが生成できたことは、正しく動作することを意味しません。プロジェクトに合わせて、次の確認を行います。
- ユニットテストや結合テスト
- ビルドと型チェック
- リンターやフォーマッター
- 依存関係や脆弱性の確認
- 実データに近い入力での動作確認
テストが存在しないコードを修正する場合は、先に期待する動作をテストとして定義すると、Copilotの提案を評価しやすくなります。
よくある質問
インラインチャットが開かない場合はどうすればよいですか?
GitHubアカウントのサインイン状態、Copilot拡張機能の有効化、VS Codeのバージョン、組織の利用制限を確認してください。ショートカットが別の機能に割り当てられている場合もあるため、コマンドパレットやキーボードショートカット設定で「Inline Chat」を検索します。
インラインチャットと通常のCopilot Chatは何が違いますか?
インラインチャットは、現在のカーソル位置や選択範囲に対して、その場で説明やコード変更を依頼する用途に向いています。通常のチャットは、複数ファイルの相談、設計の検討、エラーの調査など、より広い文脈で質問したい場合に向いています。利用できる機能の範囲はエディターやアカウント設定によって異なります。
Copilotが作成したコードは必ず正しいですか?
いいえ。生成AIは誤ったコードや、プロジェクトの仕様に合わない実装を提案することがあります。差分、テスト、型チェック、セキュリティ上の問題を確認し、必要な修正を行ってから利用してください。
まとめ
GitHub Copilot インラインチャットは、VS Codeなどのエディター上でコードの説明、修正、リファクタリング、テスト作成を進められる機能です。
- 対象コードを選択し、目的と制約を具体的に伝える
- 提案は差分で確認し、小さな単位で適用する
- テスト、型チェック、静的解析を実行する
- 機密情報を入力せず、セキュリティ関連のコードは特に慎重にレビューする
- 大規模な変更では通常のチャットや対応するエージェント機能も検討する
まずは既存関数の説明や小規模なリファクタリングから試し、変更前後の差分とテスト結果を確認する習慣を作ると、安全に開発効率を高められます。


コメント