Skip to content

Instantly share code, notes, and snippets.

@yamachu
Created March 17, 2025 11:34
Show Gist options
  • Save yamachu/13360dae7a1dbb7f52d955bcc70b2250 to your computer and use it in GitHub Desktop.
Save yamachu/13360dae7a1dbb7f52d955bcc70b2250 to your computer and use it in GitHub Desktop.
GitHub Copilotの最新の変更などを、VSCodeのdocsから追えないか試す

GitHub Copilot 機能概要

このドキュメントでは、VS Codeにおける GitHub Copilotの機能を公式ドキュメントやリリースノートからの引用付きで包括的にまとめています。Copilotの機能を理解し、開発ワークフローで活用するための参考資料としてご利用ください。

最新の追加機能 (時系列)

v1.98 (2025年2月)

  • Agent Mode改善(実験的機能) - Copilotが自律的にワークスペース内の関連コンテキストを検索し、ファイルを編集し、エラーをチェックし、ターミナルコマンドを実行してタスクを完了する機能

    • 「Agent Modeでは、Copilotは自動的にワークスペース内の関連コンテキストを検索し、ファイルを編集し、エラーをチェックし、ターミナルコマンド(許可を得て)を実行して、タスクをエンドツーエンドで完了することができます。」 [出典: /release-notes/v1_98.md, 46-47行目]
    • 設定: VS Code Stableでは段階的に展開中。Copilot Editsビューでモードドロップダウンが表示されたら「Agent」を選択
  • Copilot Editsのノートブックサポート(プレビュー) - ノートブックファイルの編集に対応し、データサイエンスやドキュメントノートブックの作業効率を向上

    • 「Copilot Editsでノートブックをサポート。コードファイルと同じ直感的なエクスペリエンスでノートブックファイルを編集できるようになりました。ゼロからノートブックを作成したり、複数のセル間でコンテンツを変更したり、セルの挿入や削除、セルタイプの変更が可能です。」 [出典: /release-notes/v1_98.md, 67-68行目]
    • 現在はVS Code Insidersでのみ利用可能
  • Copilot Vision(プレビュー) - チャットプロンプトに画像を添付して対話できる機能

    • 「Copilot Chatでのエンドツーエンドのビジョンサポートを提供。これにより、チャットプロンプトに画像を添付して対話することができます。例えば、デバッグ中にエラーが発生した場合、VS Codeのスクリーンショットを添付し、Copilotに問題解決を依頼できます。」 [出典: /release-notes/v1_98.md, 185-186行目]
    • 現在サポートされている画像形式:JPEG/JPG、PNG、GIF、WEBP
  • 高度なコードベース検索 - チャットプロンプトに関連するファイルをCopilotが検索する機能強化

    • 「Copilot Chatのクエリに#codebaseを追加すると、チャットプロンプトに関連するワークスペース内のコードをCopilotが探すのに役立ちます。#codebaseは、テキスト検索やファイル検索などのツールを実行して、ワークスペースから追加のコンテキストを取得できるようになりました。」 [出典: /release-notes/v1_98.md, 153-155行目]
    • 設定: github.copilot.chat.codesearch.enabled で有効化
  • カスタム指示の一般提供開始 - ワークスペースにある指示ファイルを使用してCopilotをカスタマイズ

    • 「カスタム指示により、GitHub Copilotがチャットの回答やコード提案をあなたやチームの作業方法に合わせてカスタマイズできます。ワークスペースの.github/copilot-instructions.mdファイルにマークダウン形式で特定の要件を記述します。」 [出典: /release-notes/v1_98.md, 90-91行目]
    • 設定: github.copilot.chat.codeGeneration.useInstructionFiles を有効にすると、指示に従った回答を生成
  • Next Edit Suggestions(NES)の折りたたみモード(プレビュー) - NESmの表示方法をコンパクトにする折りたたみモード

    • 「NESの折りたたみモードを追加しました。このモードを有効にすると、エディタの左マージンにNES提案インジケータのみが表示されます。コード提案自体は、それに移動したときにのみ表示されます。」 [出典: /release-notes/v1_98.md, 177-178行目]
    • 設定: editor.inlineSuggest.edits.showCollapsed:true で有効化
  • 問題パネルからのコンテキスト追加 - Problems パネルからチャットに問題を添付してコンテキストとして使用

    • 「コードやワークスペース内の他の問題を修正するのに役立てるため、Problemsパネルから問題をチャットのコンテキストとして添付できるようになりました。」 [出典: /release-notes/v1_98.md, 162-164行目]
  • フォルダをコンテキストとして添付 - エクスプローラービューからのドラッグアンドドロップだけでなく、ペーパークリップアイコンやチャットプロンプトからもフォルダを添付可能に

    • 「以前は、エクスプローラービューからドラッグアンドドロップしてフォルダをコンテキストとして添付できました。現在は、ペーパークリップ📎アイコンを選択するか、チャットプロンプトに#folder:の後にフォルダ名を入力することでもフォルダを添付できます。」 [出典: /release-notes/v1_98.md, 166-167行目]
  • 完了モデルの変更 - インラインサジェスト(コード補完)に使用するAIモデルを変更可能に

    • 「Copilot ChatやCopilot Editsの言語モデルを変更できるようになりましたが、今回はインラインサジェストのモデルも変更できるようになりました。」 [出典: /release-notes/v1_98.md, 181-182行目]
  • 新しいAIモデル対応 - GPT 4.5(プレビュー)とClaude 3.7 Sonnet(プレビュー)をサポート

    • 「OpenAIの最新モデルであるGPT-4.5が、Copilot Enterprise利用者向けにGitHub Copilot Chatで利用可能になりました。」 [出典: /release-notes/v1_98.md, 187行目]
    • 「Claude 3.7 Sonnetが有料Copilotプランのすべての顧客に利用可能になりました。この新しいSonnetモデルは、Copilotでの思考モードと非思考モードの両方をサポートします。」 [出典: /release-notes/v1_98.md, 189行目]

v1.97 (2024年12月)

  • Next Edit Suggestions (NES)(プレビュー) - コードの編集時に次に行う可能性のある編集位置とその内容を予測する機能

    • 「編集中の内容に基づいて、Copilot NESは次に編集したい位置とその編集内容の両方を予測します。NESは現在の作業に関連する将来の変更を提案し、Tabキーを押すだけで素早くナビゲートして提案を受け入れることができます。」 [出典: /release-notes/v1_97.md, 44行目]
    • 設定: github.copilot.nextEditSuggestions.enabled で有効化
  • 自動編集受け入れ - 設定した時間が経過すると、Copilotからの編集を自動的に受け入れる機能

    • 「Copilotからの編集を設定可能なタイムアウト後に自動的に受け入れます。」 [出典: /release-notes/v1_97.md, 24行目]

v1.96 (2024年11月)

  • GitHub Copilot 無料プラン - 月間の制限付きで誰でもCopilotを使用できる無料プランの導入

    • 「GitHub Copilotの新しい無料プランを発表します。GitHub Copilot Free planに登録するには、GitHubアカウントが必要です。毎月リセットされる一定数の補完とチャットのやり取りが可能です。」 [出典: /release-notes/v1_96.md, 44行目]
  • Copilotによるデバッグ - copilot-debugターミナルコマンドを使用してデバッグセッションを開始する機能

    • copilot-debugターミナルコマンドを使用してデバッグセッションを開始します。」 [出典: /release-notes/v1_96.md, 33行目]
  • ChatからCopilot Editsへの移行 - Chatからの提案を適用するためにCopilot Editsに切り替える機能

    • 「ChatからCopilot Editsに切り替えて、Chatからのコード提案を適用します。」 [出典: /release-notes/v1_96.md, 35行目]

v1.95 (2024年10月)

  • Copilot Edits(プレビュー) - 複数ファイルにまたがる大きな変更を素早く繰り返し行える機能

    • 「Copilot Editsを使用すると、コード変更を素早く繰り返し行えるAI駆動のコード編集セッションを開始できます。プロンプトに基づいて、Copilot Editsはワークスペース内の複数のファイルにコード変更を提案します。」 [出典: /release-notes/v1_95.md, 55-56行目]
    • 設定: github.copilot.chat.edits.enabled で有効化
  • セカンダリサイドバーでのCopilot Chat - 作業中にCopilot Chatを開いたまま利用できる機能

    • 「作業中にCopilot Chatを開いたまま、いつでも使える状態にしておくことができます。」 [出典: /release-notes/v1_95.md, 27行目]
  • Copilotのコードレビュー - コミットされていない変更に対する簡易または詳細なレビュー機能

    • 「コミットされていない変更に対して簡易なレビューパスまたはより詳細なレビューを受けられます。」 [出典: /release-notes/v1_95.md, 29行目]
  • Copilot拡張性 - VS CodeでのCopilot拡張機能の紹介

    • 「VS CodeでのCopilot拡張性を紹介します。」 [出典: /release-notes/v1_95.md, 32行目]

主要機能

1. エディタでのコード補完

  • インラインコード提案: Copilotは現在のファイルや関連ファイルのコンテキストを分析し、入力時に提案を提供します。

    • 「Copilotはあなたが編集しているファイルやその関連ファイルのコンテキストを分析し、エディタ内から提案を提供します。」 [出典: /docs/copilot/overview.md, 42-43行目]
  • 次の編集提案(プレビュー): 次の編集位置とその内容の両方を予測します。

    • 「あなたが行っている編集に基づいて、Copilot NESは次に行いたい編集の位置とその内容の両方を予測します。」 [出典: /docs/copilot/overview.md, 45-46行目]

2. 複数ファイルの編集とリファクタリング

  • Copilot Edits: 会話形式のチャットフローとインラインコード提案を組み合わせ、複数ファイルにまたがる変更をサポートします。

    • 「Copilot EditsはCopilot Chatの会話フローとInline Chatの即時フィードバックを一つの体験として統合します。」 [出典: /docs/copilot/overview.md, 51-52行目]
  • コードリファクタリング提案: コード構造や実装の改善を提案します。

    • 「コードリファクタリングの実装に関する提案を提供します。Copilotはあなたのコードベースのコンテキストを使用してリファクタリングを提案します。」 [出典: /docs/copilot/overview.md, 69-70行目]

3. Copilot Chat

  • プログラミング知識: 構文、プログラミングの概念、コーディングプラクティスに関する質問に答えます。

    • 「ドキュメントを検索したりオンラインフォーラムを調べたりする必要なく、Copilotに構文や一般的なプログラミングの概念について質問できます。」 [出典: /docs/copilot/overview.md, 56-57行目]
  • コードベース固有のガイダンス: プロジェクトに基づいたコンテキスト認識のヘルプを提供します。

    • 「あなたのコードベースに特化したガイダンスを提供します。Copilotはワークスペースのコンテキストを持ち、プロジェクトに合わせたステップバイステップのガイダンスとコードサンプルを提供できます。」 [出典: /docs/copilot/overview.md, 63-64行目]
  • コード説明: コードの機能性に関する自然言語での説明を生成します。

    • 「選択したコードを説明することでコード理解を向上させます。Copilotはコードの機能性と目的に関する自然言語での説明を生成します。」 [出典: /docs/copilot/overview.md, 60-61行目]

4. バグ修正と問題解決

  • コード修正: /fixコマンドでバグやエラーの解決策を提案します。

    • 「エラーや問題のコンテキストに基づいてコードスニペットや解決策を提案する/fixコマンドでコードのバグ修正を提案します。」 [出典: /docs/copilot/overview.md, 78-79行目]
  • テスト失敗の修正: /fixTestFailureコマンドで失敗したテストの解決策を提供します。

    • 「テスト失敗の修正を提案します(プレビュー)。コードの自動テストを実行すると、Copilotは/fixTestFailureコマンドで失敗したテストのコード修正を提案できます。」 [出典: /docs/copilot/overview.md, 81-82行目]
  • ターミナルコマンド修正: 失敗したターミナルコマンドの説明と修正を提案します。

    • 「ターミナルコマンドの修正を提案します。コマンドがターミナルで実行に失敗すると、Copilotは何が起きたかを説明するQuick Fixを提供するスパークルをガターに表示します。」 [出典: /docs/copilot/overview.md, 84-85行目]

5. プロジェクトスキャフォールディング

  • 新規プロジェクト生成: /newコマンドで完全なプロジェクト構造を作成します。

    • 「新しいプロジェクトをすぐに始められるよう、/newを使って選択した技術のための新しいVS Codeワークスペースを生成します。」 [出典: /docs/copilot/overview.md, 88-89行目]
  • Jupyterノートブック作成: 自然言語の説明に基づいてノートブックを生成します。

    • 「自然言語を使用して新しいJupyterノートブックを構築します。/newNotebookを使用して、説明に基づいて事前設定されたノートブックを生成します。」 [出典: /docs/copilot/overview.md, 91-92行目]

6. テストサポート

  • テストフレームワークのセットアップ: プロジェクトに適したテストフレームワークの構成をサポートします。

    • 「コードベースに基づいたテストフレームワークのセットアップを構成します。」 [出典: /docs/copilot/overview.md, 95行目]
  • 単体テスト生成: コードに基づいてテストケースを作成します。

    • 「エディタで開いているコードや、エディタでハイライトしたコードスニペットに基づいて、テストフレームワークの単体テストケースを作成します。」 [出典: /docs/copilot/overview.md, 98-99行目]
  • エッジケーステスト: 境界条件のテストケースを特定して作成します。

    • 「手動で特定することが難しいエッジケースや境界条件のテストケースを特定して作成します。」 [出典: /docs/copilot/overview.md, 101行目]

7. ドキュメント生成

  • コードドキュメント: /docコマンドで複数の言語のドキュメントを作成します。
    • 「エディタで開いているコードやハイライトしたコードスニペットに対して、複数の言語でコードドキュメントを生成します。」 [出典: /docs/copilot/overview.md, 105行目]

8. 生産性向上

  • コミットメッセージとPR説明: 説明的なコミットメッセージを自動生成します。

    • 「コミットのコード変更や、プルリクエストの変更に基づいたAI生成のコミットメッセージとPR説明。」 [出典: /docs/copilot/overview.md, 109行目]
  • シンボルリネーム提案: シンボルのリネーム時に意味のある名前を提案します。

    • 「ソースコード内のシンボルに対するAI生成のリネーム提案。」 [出典: /docs/copilot/overview.md, 112行目]
  • セマンティック検索(プレビュー): 完全一致を超えた意味的に関連する結果を検索します。

    • 「セマンティック検索結果(プレビュー)。検索ビューは、ファイル全体からの正確なテキスト一致に加えて、検索テキストに基づいて意味的に関連する一致も表示します。」 [出典: /docs/copilot/overview.md, 115-116行目]
  • ターミナルアシスタンス: ターミナルの使用方法やコマンドに関する質問に答えます。

    • 「ターミナルインラインチャットを使用して、ターミナルや特定のシェルコマンドの使用方法について質問できます。」 [出典: /docs/copilot/overview.md, 118行目]

最近の更新と機能強化

リモート開発統合

  • Remote - SSH Copilot チャット参加者: SSH接続とリモート環境のトラブルシューティングに関するコンテキスト認識のヘルプを提供します。

    • 「Remote - SSH拡張機能に、Copilotチャット参加者が含まれるようになりました。この参加者は最近のSSH接続に関するコンテキストを持ち、リモート環境の設定やトラブルシューティングを支援できます。」 [出典: /remote-release-notes/v1_96.md, 7-8行目]
  • 強化されたトラブルシューティング: 成長し続けるデータベースを活用して、問題解決能力を向上させます。

    • 「トラブルシューティングデータベースは各リリースで成長し続け、GitHub Copilotの問題解決スキル向上に使用されています。」 [出典: /remote-release-notes/v1_96.md, 21行目]
    • 「強化されたロギングとGitHub Copilotを組み合わせることで、強力なトラブルシューティング体験を提供します。」 [出典: /remote-release-notes/v1_96.md, 27行目]

Dev Container 統合

  • テンプレートと機能の提案: Dev Container構成のためのAI駆動の提案を提供します。
    • 「ワークスペースフォルダにDev Container構成ファイルを追加する際(F1 > Dev Containers: Add Dev Container Configuration Files...)、GitHub Copilot Chatはスパークルアイコンで示されるテンプレートと機能を提案するようになりました。」 [出典: /remote-release-notes/v1_87.md, 7-8行目]

便利なキーボードショートカット

ショートカット 説明
kb(workbench.action.chat.open) Copilotとの会話を開始するチャットビューを開く
kb(workbench.action.chat.openEditSession) 複数ファイルの編集のためのCopilot Editsビューを開く
kb(workbench.action.quickchat.toggle) 簡単な質問をするためのQuick Chatを開く
kb(inlinechat.start) エディタ内で直接インラインチャットを開始する

[出典: /docs/copilot/overview.md, 29-33行目]

Copilot Chatのコンテキスト管理

Copilot Chatは、より関連性の高い回答を提供するために、さまざまなタイプのコンテキストをサポートしています:

  • 現在の選択: 選択したコードを自動的にコンテキストとして使用
  • 添付コンテキスト: コンテキストの添付(ペーパークリップ)アイコンを使用して、ファイル、シンボル、ターミナル出力などを手動で追加
  • ファイルコンテキスト: エクスプローラーや検索ビューからコンテキストメニュー Copilot > チャットにファイルを追加 オプションで特定のファイルをチャットに追加

[出典: /docs/copilot/copilot-chat-context.md, 9, 23, 32行目]

始め方

  1. Copilotメニューまたはコマンドパレットから Copilotの無料AIを使う... を選択してCopilotにアクセス
  2. GitHubアカウントでサインイン(月間制限付きの無料プランあり)
  3. Copilotクイックスタートガイドに従って主要機能を学ぶ

[出典: /docs/copilot/overview.md, 39-42行目]

追加リソース

[出典: /docs/copilot/overview.md, 119-120行目]

@yamachu
Copy link
Author

yamachu commented Mar 17, 2025

上記のファイルを作るまでのフロー

  1. https://github.com/microsoft/vscode-docs の clone
  2. AgentModeでWorkspaceを舐めてもらって、まとめてもらう
  • Editだとうまくいかなかった
  • Claude 3.7 Sonnet Thinking は勝手に妄想垂れ流してだめだった

以下指示

release-notesなどで記述されているGitHub Copilotの機能をまとめて、どこから引用したかをまとめたいです。 目的は

最新のCopilotの状態をユーザに提供
それを実験するためのリポジトリを提供 することです。 まずは前段階としてCopilotのアップデートや公式ドキュメントから詳しい使い方を学ぶことです。 新規ファイルを作成し、Copilotの各機能をまとめてください。 もちろん引用元(ファイル名や行番号)を明記してください。

結果が英語になってしまったので、日本語に変更してもらう

この内容は素晴らしいです これを日本語化出来ませんか?

機能のざっくり一覧が出てきたので、いつ出てきたのかも追加してもらう

これらの機能が追加されたタイミングってわかりますか?例えばrelease-notesと照らし合わせて、最近の追加を別途欄を作って最新のみを追えるようにしたいです。

なんかv1.98抜けてたのでお願いする

v1.98で多くの機能が追加されたと思います。こちらも詳しく教えてくれませんか?

こんな感じでこの程度のまとめが出来上がった

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment