GitHub Copilot では、コード エディターで入力する際のインライン候補と対話型チャット エクスペリエンスの両方が提供されます。 「 @mssql 」と入力して、チャット参加者に質問したり、プロンプトを入力したりすることができます。
概要
データベースに接続されていて、MSSQL 拡張機能でアクティブなエディター ウィンドウが開かれていることを確認します。 この接続により、 @mssql チャット参加者はデータベース環境のコンテキストを理解できるため、正確でコンテキストに対応した提案が可能になります。 データベース接続がないと、チャット参加者は意味のある応答を提供するスキーマまたはデータ コンテキストを持ちません。
次の例では、 AdventureWorksLT2022 サンプル データベースを使用します。このデータベースは、 Microsoft SQL Server サンプルとコミュニティ プロジェクト のホーム ページからダウンロードできます。
最適な結果を得るには、独自の環境に合わせてテーブル名とスキーマ名を調整します。
チャットに @mssql プレフィックスが含まれていることを確認します。 たとえば、「 @mssql 」と入力し、その後に質問またはプロンプトを入力します。 これにより、チャット参加者は、SQL 関連のサポートを求めていることを理解できます。
Visual Studio Code で MSSQL のチャット参加者とチャットする
GitHub Copilot Chat の @mssql チャット参加者を使用して、インテリジェントでコンテキストに対応した支援を、すべて Visual Studio Code 内で直接 SQL 開発ワークフローに取り込みます。 GitHub Copilot は、クエリの記述、スキーマの進化、またはアプリケーション コードとの統合のいずれであっても、リレーショナル モデルの設計と理解、T-SQL コードの生成または最適化、シード データの作成、ORM 移行のスキャフォールディング、自然言語を使用したビジネス ロジックやセキュリティの問題の説明を、すべて接続されたデータベース コンテキストに合わせて行うのに役立ちます。
チャット参加者から質問できる一般的なユース ケースと例を次に示します。
データベース スキーマ内のオブジェクトを一覧表示または探索する
データベース内のテーブル、列、スキーマ、およびオブジェクト メタデータについて質問します。
種類別にオブジェクトをグループ化する
Show all objects in the `SalesLT` schema of my current database, grouped by type.
テーブルの列とプロパティを一覧表示する
List the columns, data types, and nullability of the `SalesLT.Customer` table.
データベース内のテーブル、ビュー、プロシージャをカウントする
How many tables, views, and procedures are defined in my current database?
単純なクエリを記述する
フィルター処理、集計、結合に関する一般的な SQL クエリの記述に関するヘルプを参照してください。
最近の注文に基づく顧客の返品リスト
Write a T-SQL query to list all customers from `SalesLT.Customer` who placed an order in the last 30 days based on the latest order date.
顧客ごとの平均注文合計を計算する
Generate a query that calculates the average order total per customer from the `SalesLT.SalesOrderHeader` table, sorted descending.
クエリを別の列で更新する
Update the previous query to include the full name of each customer from the `SalesLT.Customer` table.
リレーションシップまたは概念について説明する
スキーマのリレーションシップ、クエリ ロジック、または開発に関連する機能の簡単な説明を求めます。
テーブル間の外部キーのリレーションシップについて説明する
Describe the foreign key relationship between `SalesLT.SalesOrderHeader` and `SalesLT.Customer` tables in my current database.
関連するテーブルのリレーションシップとキーについて説明する
I'm a developer new to T-SQL. Explain how `SalesLT.SalesOrderHeader` is related to `SalesLT.Customer`, and what keys are involved.
ベクター データ型と使用オプションについて説明する
Explain how vector data types work in SQL Server and when to use them for AI scenarios.
移行または統合コードを生成する
SQL または ORM ベースの移行スクリプトの生成に関するヘルプを要求します。
テーブルに外部キー制約を追加する
Create a T-SQL script to add a foreign key constraint on `SalesLT.SalesOrderDetail.ProductID` referencing `SalesLT.Product.ProductID`.
外部キーを追加する移行スクリプトを生成する
Generate a Sequelize migration to add a foreign key from `SalesLT.SalesOrderDetail.ProductID` to `SalesLT.Product.ProductID`, assuming both exist.
GitHub Copilot でインライン提案を使用する
まず、 SELECT * FROM SalesLT.Customerなどの新しいエディター ウィンドウで T-SQL クエリを入力し、GitHub Copilot によって提供されるインライン提案を確認できます。 入力すると候補が表示され、 Tab または Enterを押して受け入れることもできます。
または、同じクエリ ( SELECT * FROM SalesLT.Customer) をエディターに直接入力することもできます。 次に、強調表示して、強調表示されたクエリの✨横に表示される スマート アクション アイコンを表示します。 このアイコンを使用すると、クエリを調整する Modify using Copilot 、ドキュメントを生成する /doc 、クエリに関連する GitHub Copilot の一般的な質問をする機能など、追加の GitHub Copilot オプションにすばやくアクセスできます。
GitHub Copilot を使用してレビューを選択すると、次のようなインライン推奨事項が表示されます。
また、ショートカット (windows/Linux の場合は macOS/⌘+I の場合はCtrl+I) を使用して GitHub Copilot を呼び出し、質問したり、クエリの変更を要求したりすることもできます。
感想をお聞かせください
MSSQL 拡張機能の GitHub Copilot を改良および改善するために、次の GitHub 問題テンプレートを使用してフィードバックを送信します。 GitHub Copilot フィードバック
フィードバックを送信する場合は、次の内容を検討してください。
テスト済みのシナリオ – スキーマの作成、クエリの生成、セキュリティ、ローカライズなど、どの領域に重点を置いたかをお知らせください。
うまくいったこと - スムーズで役に立ち、期待を超えた経験について説明します。
問題またはバグ – 問題、不整合、または混乱を招く動作を含めます。 スクリーンショットや画面の記録は特に役立ちます。
改善の提案 – 使いやすさの向上、カバレッジの拡大、GitHub Copilot の応答の強化に関するアイデアを共有します。