VS CodeにおけるGitHub Copilot チートシート
Visual Studio Code の GitHub Copilot は、AI を活用した機能を提供し、より速く、より少ない労力でコードを記述するのに役立ちます。このチートシートは、Visual Studio Code の GitHub Copilot の機能の概要を簡単に説明しています。
VS Code で GitHub Copilot には、チャットビュー、エディター内、統合ターミナル、そして VS Code ユーザーインターフェースの AI 強化機能からアクセスできます。
チームは、VS Code での Copilot の改善と新機能の追加に継続的に取り組んでいます。チートシートで とマークされている項目は、実験的な機能です。それらを試して、問題点にご意見をお寄せください。
GitHub Copilot とのチャット
自然言語を使用して GitHub Copilot とチャットし、コーディングタスクの支援を得ることができます。たとえば、Copilot にコードブロックやプログラミングの概念を説明するように依頼できます。Copilot チャットの使用に関する詳細情報をご覧ください。
| 操作 | 説明 |
|---|---|
| ⌃⌘I (Windows、Linux Ctrl+Alt+I) | チャットビューを開き、自然言語を使用して Copilot とのチャット会話を開始します。 |
| ⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) | Copilot 編集ビューを開き、複数のファイルにわたるコード編集セッションを開始します。 |
| ⇧⌥⌘L (Windows、Linux Ctrl+Shift+Alt+L) | クイックチャットを開き、Copilot に簡単な質問をします。 |
| ⌘I (Windows、Linux Ctrl+I) | インラインチャットを開始して、エディターから直接 Copilot にチャットリクエストを送信します。自然言語を使用するか、/コマンドを使用して Copilot に指示を与えます。 |
チャットで@を入力するか、を選択して、特定の分野で支援できるドメインエキスパートであるチャット参加者のリストを表示します。拡張機能も追加の参加者を提供できます。例: @workspace how is auth implemented? |
|
| 参加者検出 | Copilot チャットは、質問を適切な参加者に自動的にルーティングすることもできます。詳細情報はこちら。 |
/ |
コードブロックの説明、テストやドキュメントの生成など、一般的に使用されるアクションを促すスラッシュコマンドを呼び出します。 |
/explain |
Copilot にコードブロックまたはプログラミングの概念を説明するように依頼します。 |
| チャットビューでこのアイコンを選択して、チャットセッションの履歴にアクセスします。 | |
| 音声(音声チャット)を使用してチャットプロンプトを入力します。チャット応答は音声で読み上げられます。 |
ヒント
- より正確で関連性の高い回答を得るには、
/コマンドと@参加者を使用してください。- 具体的で簡潔にし、フォローアップの質問をして最適な結果を得ましょう。
- ファイル、シンボル、または選択範囲をチャットプロンプトに添付してコンテキストを提供します。
コード編集セッション(プレビュー)
Copilot 編集を使用して、ワークスペース内の複数のファイルに直接適用される AI 生成コード編集をすばやく反復処理できるコード編集セッションを開始します。
| 操作 | 説明 |
|---|---|
| ⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) | Copilot 編集ビューを開き、複数のファイルにわたるコード編集セッションを開始します。 |
| 新しい編集セッションを開始します。 | |
承認 |
現在のすべての編集を承認します。 |
破棄 |
現在のすべての編集を破棄します。 |
| 複数のファイルの差分エディターですべての編集を表示します。 | |
| 最後の編集を元に戻します。 | |
| 最後の編集をやり直します。 | |
ファイルの追加... |
作業セットにファイルを追加します。 |
ヒント
- 編集を取得するすべてのファイルを作業セットに追加します。
- Copilot 編集に対して行う変更について、具体的かつ正確に説明してください。
- より大きなタスクがある場合は、小さなタスクに分割して頻繁に反復処理してください。
チャットからのコード生成
Copilot は、チャットプロンプトに応答してコードブロックを生成できます。生成されたコードをプロジェクトにすばやく適用するか、新しいファイルに挿入します。たとえば、Copilot にコード内のアルゴリズムを最適化するように依頼できます。
| 操作 | 説明 |
|---|---|
| アクティブなエディターで生成されたコードブロックをスマートに適用します。 | |
| カーソル位置に生成されたコードブロックを挿入します。 | |
| 生成されたコードブロックをクリップボードにコピーします。 | |
| 生成されたコードブロックをシェルコマンドとしてターミナルに挿入します。 | |
新規ファイルへの挿入 |
生成されたコードブロックを新しいファイルに挿入します。 |
ヒント
- 使用するフレームワークまたはライブラリに関する詳細情報を提供します。
- カスタムコード生成指示の作成を検討してください。
プロンプトへのコンテキストの追加
Copilot にチャットプロンプトを送信するときは、Copilot が質問をよりよく理解するのに役立つコンテキストを添付できます。たとえば、現在のエディターの選択範囲、ファイル、またはシンボルをチャットプロンプトに追加します。Copilot の使用方法に関するベストプラクティスの詳細情報をご覧ください。
| 操作 | 説明 |
|---|---|
| (⌘/ (Windows、Linux Ctrl+/)) | チャットプロンプトに関連するコンテキストを選択するためのクイックピックを開きます。ワークスペースファイル、シンボル、現在のエディターの選択範囲または表示内容、ターミナルの選択範囲または最後に実行されたコマンド、または VS Code API から選択します。 |
| 開いているエディターをコンテキストとして自動的に添付する機能を有効/無効にします。 | |
#codebase |
コンテキスト変数:関連するワークスペースコンテンツをプロンプトにコンテキストとして追加します。 |
#editor |
コンテキスト変数:アクティブなエディターの表示内容をプロンプトのコンテキストとして追加します。 |
#selection |
コンテキスト変数:現在のエディターの選択範囲をプロンプトにコンテキストとして追加します。 |
#terminalSelection |
コンテキスト変数:現在のターミナルの選択範囲をチャットプロンプトにコンテキストとして追加します。 |
#terminalLastCommand |
コンテキスト変数:最後に実行されたターミナルコマンドをチャットプロンプトにコンテキストとして追加します。 |
#VSCodeAPI |
コンテキスト変数:VS Code 拡張機能の開発に関連する質問をするために、プロンプトに VS Code API をコンテキストとして追加します。 |
#file |
クイックピックを開いてワークスペースからファイルを選択し、プロンプトのコンテキストとして追加します。 |
#<filename> |
#の後にファイル名を入力して、ワークスペースファイルのファイル名の候補を取得し、コンテキストとして添付します。 |
#sym |
クイックピックを開いてワークスペースからシンボルを選択し、プロンプトのコンテキストとして追加します。 |
#<symbol> |
#の後にシンボル名を入力して、ワークスペースファイルのシンボルの候補を取得し、コンテキストとして添付します。 |
| ファイルのドラッグアンドドロップ | ファイルまたはエディターをチャットにドラッグアンドドロップして、コンテキストとしてファイルを追加します。 |
| 最近のファイル | 最近開いて編集したファイルをチャットプロンプトに自動的に含めます。詳細情報はこちら。 |
ヒント
- クイックピックで右矢印キーを使用して、複数のファイルをコンテキストとしてすばやく追加します。
- コードを選択するか、チャット変数を指定することで、関連するコンテキストを明示的に含めます。
- チャット応答で使用された参照を確認して、コンテキストが関連していることを確認してください。
エディター内の Copilot
エディターでコーディング中に、入力中にCopilotを使用してコード補完を生成できます。コーディングの流れを維持しながら、Inline Chatを呼び出して質問し、Copilotからヘルプを得ることができます。たとえば、Copilotに、関数またはメソッドの単体テストを生成するように依頼できます。コード補完およびInline Chatの詳細については、こちらをご覧ください。
| 操作 | 説明 |
|---|---|
| コード補完 | エディターに入力を開始すると、Copilotはあなたのコーディングスタイルに一致し、既存のコードを考慮したコード候補を提供します。 |
| コードコメント | コードコメントに指示を書いて、Copilotにコード補完のプロンプトを提供します。 例: # 加算、減算、乗算のメソッドを持つ電卓クラスを作成します。静的メソッドを使用します。 |
| ⌘I (Windows、Linux Ctrl+I) | インラインチャットを開始して、エディターから直接 Copilot にチャットリクエストを送信します。自然言語を使用するか、/コマンドを使用して Copilot に指示を与えます。 |
| エディターからのプロンプト | コードに直接自然言語の入力を開始すると、Copilotはコードではなくプロンプトを作成していると検出し、プロンプト用にInline Chatを自動的に開始します。 |
| F2 | コード内のシンボル名を変更するときに、AI対応の候補を取得します。 |
ヒント
- より迅速に優れたコード補完を得るには、意味のあるメソッド名または関数名を使用してください。
- Inline Chatのプロンプトの範囲を指定するにはコードブロックを選択するか、ファイルまたはシンボルを添付して関連コンテキストを添付します。
- エディターのコンテキストメニューオプションを使用して、エディターから直接一般的なCopilotアクションにアクセスします。
AI コード生成のカスタマイズ
Copilotは、適切なコンテキストがあれば、チームまたはプロジェクトのコーディングスタイル、ツール、開発ワークフローに一致する応答を生成できます。Copilotを自分の好みに合わせて調整するためのカスタム指示を提供することで、Copilotのリクエストを行うたびにこれらの詳細を提供する必要がなくなります。これらのカスタム指示は、リクエストに自動的に追加されます。VS CodeでCopilotをカスタマイズする方法の詳細については、こちらをご覧ください。
| 操作 | 説明 |
|---|---|
| ファイルベースの指示 (プレビュー) | ワークスペースの.gitHub/copilot-instructions.mdファイルで、コード生成の共有指示を定義します。これらの一般的な指示は、独自の個人用コード生成指示を補完します。 |
| コードレビュー指示 (プレビュー) | 設定で、またはファイルからインポートして、Copilotを使用してエディターの選択をレビューするための指示を定義します。言語固有の指示を定義できます。 |
| コード生成指示 | 設定で、またはファイルからインポートして、GitHub Copilotを使用したコード生成の指示を定義します。言語固有の指示を定義できます。 |
| テスト生成指示 | 設定で、またはファイルからインポートして、GitHub Copilotを使用したテスト生成の指示を定義します。言語固有の指示を定義できます。 |
| コミットメッセージ生成指示 | 設定で、またはファイルからインポートして、GitHub Copilotを使用したコミットメッセージ生成の指示を定義します。言語固有の指示を定義できます。 |
ヒント
- 各言語に対してより正確な生成コードを取得するには、言語固有の指示を定義します。
- 指示をファイルに保存して、チームやプロジェクト間で簡単に共有できるようにします。
コードレビュー(プレビュー)
Copilotは、コードブロックの簡単なレビューパスを実行したり、ワークスペースのコミットされていない変更のレビューを実行したりできます。レビューフィードバックはエディターのコメントとして表示され、そこで提案を適用できます。
| 操作 | 説明 |
|---|---|
| レビューとコメント (プレビュー) | コードブロックを選択し、エディターのコンテキストメニューからCopilot > レビューとコメントを選択して、迅速なレビューパスを実行します。 |
| Copilotコードレビュー | ソースコントロールビューでCopilotコードレビューボタンを選択して、コミットされていないすべての変更を詳細にレビューします。ウェイティングリストに参加してください。 |
テストの生成
Copilotは、コードベースの関数とメソッドのテストを生成できます。チャットのスラッシュコマンドの詳細については、こちらをご覧ください。
| 操作 | 説明 |
|---|---|
/tests |
エディター内のすべてのメソッドと関数、または選択したメソッドと関数のみのテストを生成します。生成されたテストは既存のテストファイルに追加されるか、新しいテストファイルが作成されます。 |
/setupTests |
コードのテストフレームワークの設定に関するヘルプを取得します。関連するテストフレームワーク、設定と構成の手順、VS Codeテスト拡張機能の候補についての推奨事項を取得します。 |
/fixTestFailure |
失敗したテストを修正する方法に関する提案をCopilotに依頼します。 |
| テストカバレッジ | まだテストでカバーされていない関数とメソッドのテストを生成します。詳細情報をご覧ください。 |
ヒント
- 使用するテストフレームワークまたはライブラリに関する詳細情報を提供します。
ドキュメントの生成
コードベースの関数とメソッドのコードドキュメントを生成します。チャットのスラッシュコマンドの詳細については、こちらをご覧ください。
| 操作 | 説明 |
|---|---|
/docs |
エディター内のすべてのメソッドと関数、または選択したメソッドと関数のみのドキュメントコメントを生成します。 |
問題のデバッグと修正
Copilotを使用してコーディングの問題を解決し、VS Codeでのデバッグセッションの設定と開始に関するヘルプを取得します。
| 操作 | 説明 |
|---|---|
/fix |
コードブロックの修正方法、またはコード内のコンパイラエラーやリンティングエラーの解決方法に関する提案をCopilotに依頼します。たとえば、解決されていないNode.jsパッケージ名の解決に役立ちます。 |
/fixTestFailure |
失敗したテストを修正する方法に関する提案をCopilotに依頼します。 |
/startDebugging |
launch.jsonデバッグ構成ファイルを作成し、チャットビューからデバッグセッションを開始します。詳細情報をご覧ください。 |
copilot-debugコマンド |
プログラムのデバッグに役立つターミナルコマンドです。実行コマンドの前に接頭辞を付けて、そのためのデバッグセッションを開始します(例:copilot-debug python foo.py)。詳細情報をご覧ください。 |
ヒント
- 必要な修正の種類に関する追加情報(メモリ消費量またはパフォーマンスの最適化など)を提供します。
- コード内の問題の修正に関する候補を示す、エディターのCopilotコードアクションに注目してください。
新規プロジェクトのスキャフォールディング
Copilotは、プロジェクト構造のスキャフォールディングを生成したり、要件に基づいてノートブックを生成したりすることで、新しいプロジェクトの作成に役立ちます。
| 操作 | 説明 |
|---|---|
/new |
チャットビューで/newコマンドを使用して、新しいプロジェクトまたは新しいファイルをスキャフォールディングします。必要なプロジェクト/ファイルの種類を自然言語で説明し、作成する前にスキャフォールディングされたコンテンツをプレビューします。例: /new TypeScriptとSvelteを使用するExpressアプリ |
/newNotebook |
チャットビューで/newNotebookコマンドを使用して、要件に基づいて新しいJupyterノートブックを生成します。ノートブックに含める内容を自然言語で記述します。例: /newNotebook 人口統計データを取得し、Seabornを使用して主要なインサイトをプレビューします。 |
ソース管理と課題
Copilotは、コミットとプルリクエストの変更を分析し、コミットメッセージとプルリクエストの説明に関する提案を提供できます。
| 操作 | 説明 |
|---|---|
| コミット | ソースコントロールコミットの現在の変更に対するコミットメッセージを生成します。 |
| プルリクエスト | プルリクエストの変更に対応するプルリクエストのタイトルと説明を生成します。 |
@github |
チャットで@github参加者を使用して、リポジトリ全体の問題、プルリクエストなどについて質問します。利用可能なGitHubスキルの詳細については、こちらをご覧ください。例: @github 自分に割り当てられているすべての未処理のPRは何ですか?、@github @dancing-monaからの最近のマージされたprを表示してください |
検索
Copilotを使用して、検索ビューでより関連性の高い検索結果を取得します。
| 操作 | 説明 |
|---|---|
| セマンティック検索 | セマンティックに関連するCopilotからの検索結果を検索ビューに含めます。 |
ターミナル
シェルコマンドとその使用方法、およびターミナルでコマンドを実行したときのエラーの解決方法に関するヘルプを取得します。
| 操作 | 説明 |
|---|---|
| ⌘I (Windows、Linux Ctrl+I) | ターミナル内でInline Chatを開始して、自然言語を使用してシェルコマンドをすばやく取得および実行します。 例: このマシンのコア数はいくつですか? |
| Copilotを使用した修正 |
失敗したシェルコマンドのアイコンを選択し、エラーの解決方法に関する提案を取得します。 |
| Copilotを使用した説明 |
失敗したシェルコマンドのアイコンを選択し、コマンドが失敗した理由に関する説明を取得します。 |
@terminal |
チャットビューで@terminal参加者を使用して、統合ターミナルまたはシェルコマンドに関する質問をします。例: @terminal このワークスペースの5つの最も大きなファイルを表示します |
@terminal /explain |
チャットビューで/explainコマンドを使用して、ターミナルからの内容を説明します。例: @terminal /explain topシェルコマンド |
Python と Notebook のサポート
ネイティブPython REPLとJupyterノートブックで、PythonプログラミングタスクにCopilot Chatを使用できます。
| 操作 | 説明 |
|---|---|
| 生成 ⌘I (Windows、Linux Ctrl+I) |
ノートブックでInline Chatを開始して、コードブロックまたはMarkdownブロックを生成します。 |
# |
チャットプロンプトにJupyterカーネルからの変数を添付して、より関連性の高い応答を取得します。 |
| ネイティブREPL + ⌘I(Windows、Linux Ctrl+I) | ネイティブPython REPLでInline Chatを開始し、生成されたコマンドを実行します。 |
VS Code コマンドと API
Copilotを使用して、VS Codeの機能、設定、VS Code拡張機能APIに関するヘルプを取得できます。チャット参加者の詳細については、こちらをご覧ください。
| 操作 | 説明 |
|---|---|
@vscode |
自然言語を使用して、@vscodeチャット参加者を使用してVS Codeに関する質問をします。例: @vscode ワードラップを有効にする方法は? |
@vscode /runCommand |
@vscodeチャット参加者と共に/runCommandを使用して、VS Codeコマンドを実行します。@vscode /runCommand 開発者モードを有効にする |
@vscode /search |
@vscodeチャット参加者と共に/searchを使用して、VS Code検索を生成します。例: @vscode インポートのないPythonファイル |
ヒント
- VS Code拡張機能APIについて質問する場合は、
#vscodeAPIチャット変数を使用します。