エージェント
Github Copilot Chatにおいて質問範囲を限定する
@workspace
ワークスペース内のコードやファイルに関連する質問
@terminal
統合ターミナルに関連する質問
@vscode
visual studio code(エディタ)に関連する機能の質問
便利なショートカット
インラインチャット
ctrl(command) + I
ファイル内で実行することにより、インラインチャットを開始
チャット
ctrl + alt + i(command + ctrl + i)
Copilot Chatを開始(Copilotチャットにカーソルを移動、フォーカスの移動)
コード補完
Tab
・コード補完された際に実行することでGithub Copilotの提案を受入
Esc
・コード補完された際に実行することでGithub Copilotの提案を拒否
ctrl + enter (command + enter)
・複数の提案を一覧で確認
Alt + ] (option + ])
・コード補完の次の提案を見る
Alt + [ (option + [)
・コード補完の前の提案を見る
ctrl + → (comannd + →)
・コード補完の結果に対して単語ごとに提案を受け入れる
スラッシュコマンド
@workspace に対するコマンド
/doc
・現在開いているファイルに対して、ドキュメントを追加
/explain
・指定した範囲のコードが実行される際の動作を説明
/fix
・選択したコードの問題点、修正点の提案
/generate
・プロンプトに沿ったコードを生成
/optimize
・選択したコードのパフォーマンス改善
/tests
・コードの単体テストの作成
/new
入力した自然言語に基づいた新規ワークスペースの作成
@vscode に対するコマンド
/search
・エディタの検索機能で、ワークスペース内のファイルを検索
/api
・エディタの拡張機能の開発に関する回答を生成
@terminal に対するコマンド
/explain
・ターミナルで実行された処理の内容を説明
Copilot Chatに関連するコマンド
/help
・Copilot Chatの使用に関するヘルプを表示
/clear
・現在のチャットを終わらせて新規チャットを開始
エージェント + /コマンド
説明が必要な箇所にフォーカスをあてる、もしくは選択
ファイル全体の説明であれば全選択(ctrl + a)した状態で
@workplace /explain
コンテキスト変数
追加情報を簡単に与えることができる
ソースコード
#codebase
・現在のワークスペースの内容全て
#editor
・現在選択しているエディターで表示されているソースコードをプロンプトの中に埋め込み可能
#file:{FILE_NAME}
・ワークスペース内の指定したファイルをプロンプトに含める
#selection
・エディターで選択されているソースコードをプロンプトの中に埋め込み可能
ターミナル
#terminalLastCommand
・ターミナルで最後に実行したコマンドの結果
#terminalSelection
・ターミナルで選択された内容
Git
#git
・現在のGitリポジトリに関する情報
その他(雑メモ)
前提
・VS Code使用
・拡張機能(GitHub Copilot、GitHub Copilot Chat)インストール済
コード説明
■コードの説明
・ファイルの中身(対象箇所)を全て選択
・右クリック、[Copilt] - [これを説明する] を開く
■ドキュメントコメントの生成
・ファイルの中身(対象箇所)を全て選択
・右クリック、[Copilt] - [ドキュメントを生成する] を開く
→ 初期は英語で生成される
→インラインを開き、下記のように「日本語で生成」と命じると日本語になる(意図的に指定が必要)
/doc 日本語で生成
コード改善
■冗長なコードの除去
・ファイルの中身(対象箇所)を選択
・右クリック、[Copilt] - [エディターで開始] を選択 = (ctrl + i)
・以下のプロンプトを実行
冗長コードの除去
■バグの検出、修正提案
インラインチャットで修正
→右クリック、[Copilt] - [ここを修正]
■ソースコード改善
改善提案依頼時のポイント
◎具体的な指示
→ 改善したい内容について具体的に指示する
◎1回のチャットに1つの改善を依頼する
■ターミナルのエラーから解析・修正
・GitHub Copilot Chat にてエラーを解析
#terminalSelection エラーの解析
・直前のエラー解析
#terminalLastCommand エラー解析
・GitHub Copilot Chatでエラーを修正依頼
エラーの修正
テスト
単体テストやテストデータの生成が可能
users.jsに対するテストコードを作成依頼
@workspace /test #file:users.js 単体テストコードを生成
【依頼内容雛形】
Usersテーブルのテストデータ作成クエリを作成
# 目的
- 正常に動作するかの確認のために利用
# DB
- MySQL
# テスト種別
- ユニットテスト
# Usersテーブルのカラム
- id: unsiged bigint型、プライマリーキー
- name: varchar型
- password: varchar型、bcyptを用いたハッシュ化が行われる
- ```