VS Code での GitHub Copilot チートシート
Visual Studio Code の GitHub Copilot は、AI を活用した機能を提供し、コードをより速く、より少ない労力で書くのに役立ちます。このチートシートでは、Visual Studio Code の GitHub Copilot の機能の概要を簡単に説明します。
Copilot サブスクリプションをお持ちでない場合は、Copilot Free プランにサインアップすると Copilot を無料で利用でき、補完とチャット対話に毎月の制限が適用されます。
必須のキーボード ショートカット
- ⌃⌘I (Windows、Linux Ctrl+Alt+I) - チャット ビューを開く
- ⌘I (Windows、Linux Ctrl+I) - チャット ビューで音声チャット プロンプトを入力
- ⌘N (Windows、Linux Ctrl+N) - チャット ビューで新しいチャット セッションを開始
- ⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) - エージェント モードに切り替える
- ⌘I (Windows、Linux Ctrl+I) - エディターまたはターミナルでインライン チャットを開始
- ⌘I (Windows、Linux Ctrl+I) (長押し) - インライン音声チャットを開始
- Tab - インライン提案を承認するか、次の編集提案に移動
- Escape - インライン提案を閉じる
VS Code で AI にアクセスする
-
自然言語を使用してチャットを開始する
- チャット ビュー (⌃⌘I (Windows、Linux Ctrl+Alt+I)): セカンダリ サイド バーで継続的なチャット会話を維持する
- エディターまたはターミナルでのインライン チャット (⌘I (Windows、Linux Ctrl+I)): コーディング中に質問をする
- クイック チャット (⇧⌥⌘L (Windows、Linux Ctrl+Shift+Alt+L)): 現在のタスクを中断せずに素早く質問する
-
エディター内の AI
- コード補完: 入力中に提案を受け取り、Tab を押して提案を承認する
- コンテキスト メニューのアクションを編集: コードの説明、修正、テスト生成、テキスト選択のレビューなど、一般的な AI アクションにアクセスする
- コード アクション: リンティングやコンパイラーのエラーを修正するために、エディター コード アクション (電球) を取得する
-
VS Code 全体でのタスク固有のスマート アクション
- コミット メッセージ、プル リクエストのタイトルと説明を生成する
- テスト エラーを修正する
- 意味的なファイル検索の提案
VS Code でのチャット体験
自然言語チャットを開始して、コーディング タスクのヘルプを得ます。たとえば、コード ブロックやプログラミング概念の説明、コードの再構成、新機能の実装などを依頼できます。Copilot Chat の使用に関する詳細情報を入手してください。
| アクション | 説明 |
|---|---|
| ⌃⌘I (Windows、Linux Ctrl+Alt+I) | セカンダリ サイド バーでチャット ビューを開きます。 |
| ⌘I (Windows、Linux Ctrl+I) | インライン チャットを開始して、エディターまたはターミナルでチャットを開きます。 |
| ⇧⌥⌘L (Windows、Linux Ctrl+Shift+Alt+L) | ワークフローを中断せずにクイック チャットを開きます。 |
| ⌘N (Windows、Linux Ctrl+N) | チャット ビューで新しいチャット セッションを開始します。 |
| チャット ビューでさまざまなチャット モードを切り替えます。 | |
| ⌥⌘. (Windows、Linux Ctrl+Alt+.) | チャット用の別の AI モデルを選択するモデル ピッカーを表示します。 |
コンテキストを追加... |
さまざまな種類のコンテキストをチャット プロンプトにアタッチします。 |
/-コマンド |
一般的なタスクにはスラッシュ コマンドを使用するか、再利用可能なチャット プロンプトを呼び出します。 |
#-メンション |
プロンプト内でコンテキストを提供するために、一般的なツールまたはチャット変数を参照します。 |
@-メンション |
ドメイン固有のリクエストを処理するために、チャット参加者を参照します。 |
| 編集 () | 以前のチャット プロンプトを編集して変更を元に戻します。 |
| 履歴 () | チャット セッションの履歴にアクセスします。 |
| 音声 () | 音声 (音声チャット) を使用してチャット プロンプトを入力します。チャットの応答は音声で読み上げられます。 |
| KaTeX | チャット応答で数式をレンダリングします。chat.math.enabled で有効にします。 |
ヒント
#-メンションを使用して、チャット プロンプトにより多くのコンテキストを追加します。/コマンドと@参加者を使用して、より正確で関連性の高い回答を得ます。- 具体的でシンプルに保ち、フォローアップの質問をして最良の結果を得ます。
- ニーズに合ったチャット モードを選択します: 質問、編集、エージェント、またはカスタム モードの作成。
プロンプトにコンテキストを追加する
チャット プロンプトにコンテキストを提供することで、より関連性の高い応答を得ます。ファイル、シンボル、エディターの選択範囲、ソース管理コミット、テスト失敗など、さまざまなコンテキスト タイプから選択できます。
| アクション | 説明 |
|---|---|
| コンテキストを追加 | クイック ピックを開いて、チャット プロンプトに関連するコンテキストを選択します。ワークスペース ファイル、シンボル、現在のエディターの選択範囲、ターミナルの選択範囲など、さまざまなコンテキスト タイプから選択できます。 |
| ファイルをドラッグ & ドロップ | エクスプローラーまたは検索ビューからファイルをドラッグ & ドロップするか、エディター タブをチャット ビューにドラッグします。 |
| フォルダーをドラッグ & ドロップ | フォルダーをチャット ビューにドラッグ & ドロップして、その中のファイルをアタッチします。 |
| 問題をドラッグ & ドロップ | 問題パネルから項目をドラッグ & ドロップします。 |
#<ファイル|フォルダー|シンボル> |
# の後にファイル、フォルダー、またはシンボル名を入力して、チャット コンテキストとして追加します。 |
| `#-メンション | # の後にチャット ツールを入力して、特定のコンテキスト タイプまたはツールを追加します。 |
チャット ツール
ユーザーのリクエストを処理しながら、ディレクトリ内のファイルをリストする、ワークスペース内のファイルを編集する、ターミナル コマンドを実行する、ターミナルから出力を取得するなど、特殊なタスクを実行するためにチャットでツールを使用します。組み込みツールまたは MCP サーバーと拡張機能のツールを選択します。
次の表は、VS Code の組み込みツールをリストしています
| チャット変数/ツール | 説明 |
|---|---|
#changes |
ソース管理の変更リスト。 |
#codebase |
現在のワークスペースでコード検索を実行して、チャット プロンプトに関連するコンテキストを自動的に見つけます。 |
#createAndRunTask |
ワークスペースで新しいタスクを作成して実行します。 |
#createDirectory |
ワークスペースに新しいディレクトリを作成します。 |
#createFile |
ワークスペースに新しいファイルを作成します。 |
#edit (ツールセット) |
ワークスペース内の変更を有効にします。 |
#editFiles |
ワークスペース内のファイルに編集を適用します。 |
#editNotebook |
ノートブックを編集します。 |
#extensions |
VS Code 拡張機能を検索して質問します。例: "Python #extensions を使い始めるには?" |
#fetch |
指定された Web ページからコンテンツをフェッチします。例: "code.visualstudio.com/updates を #fetch 要約してください。" |
#fileSearch |
glob パターンを使用してワークスペース内のファイルを検索し、そのパスを返します。 |
#getNotebookSummary |
ノートブック セルのリストとその詳細を取得します。 |
#getProjectSetupInfo |
さまざまな種類のプロジェクトをスキャフォールディングするための手順と構成を提供します。 |
#getTaskOutput |
ワークスペースでタスクを実行した出力結果を取得します。 |
#getTerminalOutput |
ワークスペースでターミナル コマンドを実行した出力結果を取得します。 |
#githubRepo |
GitHub リポジトリでコード検索を実行します。例: "グローバル スニペットとは #githubRepo microsoft/vscode。" |
#installExtension |
VS Code 拡張機能をインストールします。 |
#listDirectory |
ワークスペース内のディレクトリのファイルをリストします。 |
#new |
デバッグおよび実行構成が事前構成された新しい VS Code ワークスペースをスキャフォールディングします。 |
#newJupyterNotebook |
説明に基づいて新しい Jupyter ノートブックをスキャフォールディングします。 |
#newWorkspace |
新しいワークスペースを作成します。 |
#openSimpleBrowser |
組み込みのシンプル ブラウザーを開き、ローカルにデプロイされた Web アプリをプレビューします。 |
#problems |
問題パネルからワークスペースの問題と課題をコンテキストとして追加します。コードの修正やデバッグに役立ちます。 |
#readFile |
ワークスペース内のファイルの内容を読み取ります。 |
#readNotebookCellOutput |
ノートブック セル実行の出力を読み取ります。 |
#runCell |
ノートブック セルを実行します。 |
#runCommands (ツールセット) |
ターミナルでコマンドを実行し、出力を読み取ることができるようにします。 |
#runInTerminal |
統合ターミナルでシェル コマンドを実行します。 |
#runNotebooks (ツールセット) |
ノートブック セルの実行を有効にします。 |
#runTask |
ワークスペースで既存のタスクを実行します。 |
#runTasks (ツールセット) |
ワークスペースでタスクを実行し、出力を読み取ることができるようにします。 |
#runTests |
ワークスペースで単体テストを実行します。 |
#runVscodeCommand |
VS Code コマンドを実行します。例: "Zen モードを有効にする #runVscodeCommand。" |
#search (ツールセット) |
現在のワークスペースでファイルを検索できるようにします。 |
#searchResults |
検索ビューから検索結果を取得します。 |
#selection |
現在のエディターの選択範囲を取得します (テキストが選択されている場合のみ利用可能)。 |
#terminalLastCommand |
最後に実行されたターミナル コマンドとその出力を取得します。 |
#terminalSelection |
現在のターミナル選択範囲を取得します。 |
#testFailure |
単体テストの失敗情報を取得します。テストの実行と診断に役立ちます。 |
#textSearch |
ファイル内のテキストを検索します。 |
#todos |
TODO リストでチャット リクエストの実装と進行状況を追跡します。 |
#usages |
"すべての参照の検索"、"実装の検索"、および "定義へ移動" の組み合わせ。 |
#VSCodeAPI |
VS Code の機能と拡張機能の開発について質問します。 |
スラッシュ コマンド
スラッシュ コマンドは、チャット内の特定の機能へのショートカットです。問題の修正、テストの生成、コードの説明などのアクションをすばやく実行するために使用できます。
| スラッシュ コマンド | 説明 |
|---|---|
/docs |
エディターのインライン チャットからコード ドキュメント コメントを生成します。 |
/explain |
コード ブロック、ファイル、またはプログラミング概念を説明します。 |
/fix |
Copilot にコード ブロックの修正、またはコンパイラーやリンティングのエラーの解決を依頼します。 |
/help |
VS Code でのチャットの使用に関するヘルプを取得します。 |
/tests |
エディター内のすべての、または選択したメソッドと関数のテストを生成します。 |
/setupTests |
コードのテスト フレームワークを設定するためのヘルプを取得します。関連するテスト フレームワークの推奨事項、セットアップと構成の手順、および VS Code テスト拡張機能の提案を取得します。 |
/clear |
チャット ビューで新しいチャット セッションを開始します。 |
/new |
新しい VS Code ワークスペースまたはファイルをスキャフォールディングします。必要なプロジェクト/ファイルの種類を自然言語で記述し、作成する前にスキャフォールディングされたコンテンツをプレビューします。 |
/newNotebook |
要件に基づいて新しい Jupyter ノートブックをスキャフォールディングします。ノートブックに何を含めるかを自然言語で記述します。 |
/search |
検索ビューの検索クエリを生成します。検索したい内容を自然言語で記述します。 |
/startDebugging |
launch.json デバッグ構成ファイルを生成し、チャット ビューからデバッグ セッションを開始します。 |
/<プロンプト ファイル名> |
チャットで再利用可能なプロンプト ファイルを実行します。 |
チャット参加者
チャット参加者を使用して、チャット内のドメイン固有のリクエストを処理します。チャット参加者は @ でプレフィックスされ、特定のトピックについて質問するために使用できます。VS Code は @github、@terminal、@vscode などの組み込みチャット参加者を提供し、拡張機能は追加の参加者を提供できます。
| チャット参加者 | 説明 |
|---|---|
@github |
@github 参加者を使用して、GitHub リポジトリ、イシュー、プル リクエストなどについて質問します。利用可能な GitHub スキルに関する詳細情報を入手してください。例: @github 私に割り当てられている未解決の PR はすべて何ですか?、@github @dancing-mona から最近マージされた PR を表示してください |
@terminal |
@terminal 参加者を使用して、統合ターミナルまたはシェル コマンドについて質問します。例: @terminal このワークスペースで最も大きいファイル 5 つをリストしてください |
@vscode |
@vscode 参加者を使用して、VS Code の機能、設定、および VS Code 拡張機能 API について質問します。例: @vscode Word Wrap を有効にするにはどうすればよいですか? |
@workspace |
@workspace 参加者を使用して、現在のワークスペースについて質問します。例: @workspace 認証はどのように実装されていますか? |
エージェントモード
チャットエージェント モードでは、自然言語を使用して高レベルのタスクを指定し、AI に要求を自律的に推論させ、必要な作業を計画し、コードベースに変更を適用させることができます。エージェント モードは、指定したタスクを実行するために、コード編集とツール呼び出しの組み合わせを使用します。要求を処理する際に、編集とツールの結果を監視し、発生する問題を解決するために反復します。
| アクション | 説明 |
|---|---|
| ⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) | チャット ビューでエージェント モードに切り替える |
| ツール () | エージェント モードで利用可能なツールを構成します。組み込みツール、MCP サーバー、および拡張機能によって提供されるツールから選択します。 |
| ツールを自動承認 (実験的) | エージェント モードですべてのツールの自動承認を有効にします (chat.tools.autoApprove)。 |
| ターミナル コマンドを自動承認 (実験的) | エージェント モードでターミナル コマンドの自動承認を有効にします (chat.tools.terminal.autoApprove)。 |
| MCP | MCP サーバーを構成して、追加の機能とツールでエージェント モードを拡張します。 |
ヒント
- エージェント モードにツールを追加して、その機能を拡張します。
- カスタム チャット モードを構成して、エージェント モードの動作を定義します。たとえば、読み取り専用の計画モードを実装します。
- カスタム命令を定義して、エージェント モードにコードの生成方法と構造化方法を指示します。
チャット体験をカスタマイズする
チャット体験をカスタマイズして、コーディング スタイル、ツール、開発者ワークフローに一致する応答を生成します。VS Code でチャット体験をカスタマイズするにはいくつかの方法があります
-
カスタム命令: コードの生成、コード レビューの実行、コミット メッセージの生成などのタスクに対する共通のガイドラインまたはルールを定義します。カスタム命令は、AI が動作する条件 (タスクがどのように行われるべきか) を記述します。
-
再利用可能なプロンプト ファイル: コードの生成やコード レビューの実行などの一般的なタスクの再利用可能なプロンプトを定義します。プロンプト ファイルは、チャットで直接実行できるスタンドアロンのプロンプトです。それらは実行されるタスク (何が行われるべきか) を記述します。
-
チャット モード: チャットの動作、使用できるツール、コードベースとの対話方法を定義します。各チャット プロンプトは、すべてのリクエストに対してツールと指示を構成する必要なく、チャット モードの境界内で実行されます。
ヒント
- 言語固有の指示を定義して、各言語でより正確な生成されたコードを取得します。
- ワークスペースに指示を保存して、チームと簡単に共有します。
- 一般的なタスクの再利用可能なプロンプト ファイルを定義して、時間を節約し、チーム メンバーが迅速に開始できるようにします。
エディターの AI 機能
エディターでコーディングしているときに、Copilot を使用して入力中にコード補完を生成できます。インライン チャットを呼び出して、Copilot に質問したりヘルプを得たりしながら、コーディングの流れを維持します。たとえば、Copilot に関数またはメソッドの単体テストを生成するように依頼します。コード補完とインライン チャットに関する詳細情報を入手してください。
| アクション | 説明 |
|---|---|
| コード補完 | エディターで入力を開始すると、コーディング スタイルに一致し、既存のコードを考慮に入れたコードの提案が得られます。 |
| コード コメント | コード コメントで指示を記述して、コード補完プロンプトを提供します。 例: # add、subtract、multiply のメソッドを持つ電卓クラスを記述します。静的メソッドを使用します。 |
| ⌘I (Windows、Linux Ctrl+I) | エディター インライン チャットを開始して、エディターから直接チャット リクエストを送信します。自然言語を使用し、チャット変数とスラッシュ コマンドを参照してコンテキストを提供します。 |
| F2 | コード内のシンボルを名前変更するときに、AI を活用した提案を取得します。 |
| コンテキスト メニューのアクション | エディターのコンテキスト メニューを使用して、コードの説明、テストの生成、コードのレビューなど、一般的な AI アクションにアクセスします。エディターで右クリックしてコンテキスト メニューを開き、コードを生成を選択します。 |
| コード アクション (電球) | コード内のリンティングまたはコンパイラーのエラーを修正するために、エディターでコード アクション (電球) を選択します。 |
ヒント
- 意味のあるメソッド名または関数名を使用して、より良いコード補完をより速く取得します。
- コード ブロックを選択してインライン チャット プロンプトのスコープを限定するか、ファイルまたはシンボルをアタッチして関連するコンテキストをアタッチします。
- エディターのコンテキスト メニュー オプションを使用して、一般的な AI を活用したアクションにエディターから直接アクセスします。
ソース管理とイシュー
AI を使用して、コミットとプル リクエストの変更を分析し、コミット メッセージとプル リクエストの説明の提案を提供します。
| アクション | 説明 |
|---|---|
#changes |
現在のソース管理の変更をチャット プロンプトのコンテキストとして追加します。 |
| コミットをコンテキストとして追加 | ソース管理履歴からのコミットをチャット プロンプトのコンテキストとして追加します。 |
| コミット メッセージ | ソース管理コミットの現在の変更のコミット メッセージを生成します。 |
| マージの競合 (実験的) | AI を使用して Git のマージの競合を解決するヘルプを得ます。 |
| プル リクエストの説明 | プル リクエストの変更に対応するプル リクエストのタイトルと説明を生成します。 |
@github |
チャットで @github 参加者を使用して、リポジトリ全体でイシュー、プル リクエストなどについて質問します。利用可能な GitHub スキルに関する詳細情報を入手してください。例: @github 私に割り当てられている未解決の PR はすべて何ですか?、@github @dancing-mona から最近マージされた PR を表示してください |
コードをレビューする (実験的)
AI を使用してコード ブロックのクイック レビュー パスを実行したり、ワークスペース内のコミットされていない変更のレビューを実行したりします。レビューのフィードバックはエディターにコメントとして表示され、そこで提案を適用できます。
| アクション | 説明 |
|---|---|
| 選択範囲のレビュー (プレビュー) | コード ブロックを選択し、エディターのコンテキスト メニューからコードを生成 > レビューを選択して、クイック レビュー パスを実行します。 |
| コード レビュー | ソース管理ビューでコード レビューボタンを選択して、コミットされていないすべての変更をより詳細にレビューします。 |
検索と設定
検索ビューで意味的に関連する検索結果を取得したり、設定エディターで設定を検索するのに役立ちます。
| アクション | 説明 |
|---|---|
| 設定検索 | 設定エディターに意味的な検索結果を含めます (workbench.settings.showAISearchToggle)。 |
| 意味的な検索 (プレビュー) | 検索ビューに意味的な検索結果を含めます (search.searchView.semanticSearchBehavior)。 |
テストを生成する
Copilot は、コードベースの関数やメソッドのテストを生成できます。チャット内のスラッシュ コマンドに関する詳細情報を入手してください。
| アクション | 説明 |
|---|---|
/tests |
エディター内のすべての、または選択したメソッドと関数のテストを生成します。生成されたテストは既存のテスト ファイルに追加されるか、新しいテスト ファイルが作成されます。 |
/setupTests |
コードのテスト フレームワークを設定するためのヘルプを取得します。関連するテスト フレームワークの推奨事項、セットアップと構成の手順、および VS Code テスト拡張機能の提案を取得します。 |
/fixTestFailure |
失敗したテストを修正する方法について、Copilot に提案を求めます。 |
| テスト カバレッジ (実験的) | まだテストでカバーされていない関数やメソッドのテストを生成します。詳細情報。 |
ヒント
- 使用するテスト フレームワークまたはライブラリに関する詳細情報を提供します。
問題のデバッグと修正
Copilot を使用して、コーディングの問題を修正したり、VS Code でデバッグ セッションを構成して開始したりするのに役立ちます。
| アクション | 説明 |
|---|---|
/fix |
コード ブロックの修正方法、またはコード内のコンパイラーやリンティングのエラーを解決する方法について、Copilot に提案を求めます。たとえば、未解決の Node.js パッケージ名を修正するのに役立ちます。 |
/fixTestFailure |
失敗したテストを修正する方法について、Copilot に提案を求めます。 |
/startDebugging (実験的) |
launch.json デバッグ構成ファイルを生成し、チャット ビューからデバッグ セッションを開始します。 |
copilot-debug コマンド |
プログラムをデバッグするのに役立つターミナル コマンドです。実行コマンドの前にプレフィックスを付けて、そのデバッグ セッションを開始します (例: copilot-debug python foo.py)。 |
ヒント
- メモリ消費やパフォーマンスの最適化など、必要な修正の種類に関する追加情報を提供します。
- コード内の問題を修正するための提案を示す、エディターの Copilot Code Actions に注意してください。
新しいプロジェクトをスキャフォールディングする
Copilot は、プロジェクト構造のスキャフォールドを生成したり、要件に基づいてノートブックを生成したりして、新しいプロジェクトの作成を支援できます。
| アクション | 説明 |
|---|---|
| エージェントモード | エージェント モードを使用し、自然言語プロンプトを使用して新しいプロジェクトまたはファイルを作成します。例: 私のタスクを追跡する Svelte Web アプリケーションを作成してください。 |
/new |
チャット ビューで /new コマンドを使用して、新しいプロジェクトまたは新しいファイルをスキャフォールディングします。必要なプロジェクト/ファイルの種類を自然言語で記述し、作成する前にスキャフォールディングされたコンテンツをプレビューします。例: /new TypeScript と Svelte を使用した Express アプリケーション |
/newNotebook |
チャット ビューで /newNotebook コマンドを使用して、要件に基づいて新しい Jupyter ノートブックを生成します。ノートブックに何を含めるかを自然言語で記述します。例: /newNotebook 国勢調査データを取得し、Seaborn で主要なインサイトをプレビューします。 |
ターミナル
シェル コマンドと、ターミナルでコマンドを実行する際のエラー解決方法についてヘルプを得ます。
| アクション | 説明 |
|---|---|
| ⌘I (Windows、Linux Ctrl+I) | ターミナル インライン チャットを開始して、自然言語を使用してシェル コマンドとターミナルについて質問します。 例: このマシンには何コアありますか? |
@terminal |
チャット ビューで @terminal 参加者を使用して、統合ターミナルまたはシェル コマンドについて質問します。例: @terminal このワークスペースで最も大きいファイル 5 つをリストしてください |
@terminal /explain |
チャット ビューで /explain コマンドを使用して、ターミナルから何かを説明します。例: @terminal /explain top シェル コマンド |
Python とノートブックのサポート
Native Python REPL と Jupyter ノートブックで Python プログラミング タスクを支援するためにチャットを使用できます。
| アクション | 説明 |
|---|---|
| 生成 ⌘I (Windows、Linux Ctrl+I) |
ノートブックでインライン チャットを開始して、コード ブロックまたは Markdown ブロックを生成します。 |
# |
チャット プロンプトで Jupyter カーネルの変数をアタッチして、より関連性の高い応答を取得します。 |
| Native REPL + ⌘I (Windows、Linux Ctrl+I) | Native Python REPL でインライン チャットを開始し、生成されたコマンドを実行します。 |
| ⌃⌘I (Windows、Linux Ctrl+Alt+I) | チャット ビューを開き、編集モードまたはエージェント モードを使用してノートブックを編集します。 |
/newNotebook |
チャット ビューで /newNotebook コマンドを使用して、要件に基づいて新しい Jupyter ノートブックを生成します。ノートブックに何を含めるかを自然言語で記述します。例: /newNotebook 国勢調査データを取得し、Seaborn で主要なインサイトをプレビューします。 |