著者は、Microsoft 西ヨーロッパで開発者生産性 GTM をリードしています。GitHub Copilot はこのビジネス領域の一部です。
GitHub Copilot Chat は、コードについてチャットしたり、コードとチャットしたりできる、非常に強力で便利な機能です。100% 自然言語に対応している (つまり、特定の構文を使用せずにメッセージを送信できる) にもかかわらず、特別なチャット機能を活用することで、AI 支援による新しい開発シナリオが実現し、生産性が大幅に向上します。
特別な構文を適用することで使用できるこれらの強力な機能には、チャット参加者、スラッシュ コマンド、コンテキスト変数などがあります。ここで説明する機能は VS Code で使用できますが、GitHub Copilot Chat が使用できる他の IDE では完全にサポートされない可能性があることに注意してください。
チャット参加者の1人にメッセージを送信して質問やリクエストを送信します
GitHub Copilot Chat では、参加者名の前に @ を付けるという従来のチャット構文を使用して、AI を活用した「ドメイン エキスパート」の 1 人を参照できます。現在利用可能なチャット参加者は次のとおりです。
@workspace: 現在開いているワークスペース内のコードについてすべて知っています。これは、おそらく頻繁にコミュニケーションを取ることになるチャット参加者です。
@terminal: 統合ターミナル シェル、その内容、およびそのバッファーに関するすべての情報を認識します。
@vscode: VS Code エディター、そのコマンド、および機能について知っています。
例: 割り当てられたプロジェクトのバックエンド部分に関する情報を取得するには、 @workspace VS Code でプロジェクト フォルダーを開いた直後のチャット参加者。
この特定のケースでは、エディタでファイルを開く必要すらありません。これをタグ付けせずに得られる応答と比較してください。 @workspace:
の @workspace チャット参加者は、すべてのコードをチャット応答に考慮する必要があるソリューション全体のクエリに役立ちます。ただし、これはすべてのコードがプロンプトの一部として使用され、送信されることを意味するわけではありません。VS Code の GitHub Copilot Chat 拡張機能は、まずローカルの知識とインテリジェンスを使用して、関連するファイルとこれらのファイルの一部を決定するために最善を尽くします。「使用された参照」行を展開すると、プロンプトに使用されたファイルとコード行を確認できます。
生産性のヒント: メッセージを入力した後、EnterキーではなくCtrl+Enterキー(Cmd+Enterキー)を使用すると、 @workspace 文字列は送信前にメッセージに自動的に挿入されます。
チャット変数を使用してコンテキストを正確に設定する
多くの場合、質問やリクエストのコンテキストとして完全な解決策を検討します( @workspace) はやりすぎです。メッセージ内で特定のファイルやファイルの一部を指定したい場合があります。チャット変数が役立ちます。# を使用して、このリストから 1 つを呼び出します。
#file: ワークスペース内の特定のファイルを指します。
#codebase: 開いているワークスペースのすべてのコンテンツ。@workspace他のエージェントとチャットするときに役立つかもしれません(@terminal) ですが、完全なソリューションを参照したい場合もあります。
#editor: エディターのビューポート内のソースコード (表示部分)。
#git: 現在の Git リポジトリ: ブランチ、リモート、パスなど。
#selection: 現在選択されているコード。
#terminalLastCommand: エディターのターミナルで最後に実行されたコマンド。
#terminalSelection: エディターのターミナルでの選択。
例: 特定のファイル内のメソッド名の改善についてサポートを受けましょう (ファイルの内容全体が考慮されるようにします)。
生産性のヒント: #を入力した後、キーボードの上下矢印を使用して必要なチャット変数を選択します。 #fileもう一度キーボード ナビゲーションを使用して、提案されたファイルの 1 つを選択します。
スラッシュコマンドを使用して、最も頻繁に使用するアクションをすばやく呼び出す
自然言語でコードと会話するのは楽しいですが、便利なショートカットを使用してよく使用するアクションを呼び出すオプションがあるとさらに便利です。「選択したコードの動作を説明してください」というメッセージ全体を入力する場合と、「/」を入力してからキーボードの矢印を使用して選択する場合を比較してください。 /explain ポップアップオーバーレイから。
コマンドに定義済みの構文を使用するもう 1 つの利点は、GitHub Copilot が意図を 100% 正しく理解するという自信です (自然言語には多少の曖昧さがある可能性があります)。
利用できるスラッシュ コマンドは多数あります。チャット参加者の参照と組み合わせて使用することで、必要なスコープを提供できます。コマンドの一部を以下に示します。
/help: 利用可能なスラッシュ コマンド、チャット参加者、チャット変数などに関するヘルプ。
/doc: コードのドキュメントを生成します。
/explain: コードがどのように動作するかを説明します (または、先頭に @terminal を追加すると、ターミナル コマンドのヘルプが表示されます)。
/fix: コードを最適化したり、問題を修正したりします。
/tests: コードの単体テストを作成します。
/new: 新しいワークスペースを構築します。
例: コード内の正規表現の1つについて説明を見てみましょう。コード行を選択し、スラッシュコマンド「/explain。
生産性のヒント: サイド ペインで常にチャットを開くのではなく、GitHub Copilot Chat をインライン モードで試してください。Ctrl + I (Cmd + I) を押して、コード ウィンドウ内のカーソルがある行のすぐ上に表示される小さなオーバーレイ ダイアログにメッセージを入力します。
まとめ
チャット参加者、チャット変数、スラッシュ コマンドを使用して、会話のコンテキストを完全に制御し、意図を正しく一貫して理解できるようにすることで、チャットとコードのスピードを速めることができます。無料の GitHub Copilot トライアルはこちらから開始できます: https://aka.ms/try-github-copilot