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 移行のスキャフォールディング、自然言語を使用したビジネス ロジックやセキュリティの問題の説明を、すべて接続されたデータベース コンテキストに合わせて行うのに役立ちます。
チャット参加者から質問できる一般的なユース ケースと例を次に示します。
データベース スキーマ内のオブジェクトを一覧表示または探索する
データベース内のテーブル、列、スキーマ、およびオブジェクト メタデータについて質問します。
- 現在のデータベースの
SalesLT
スキーマ内のすべてのオブジェクトを、種類別にグループ化して表示します。 -
SalesLT.Customer
テーブルの列、データ型、および null 値の許容を一覧表示します。 - 現在のデータベースで定義されているテーブル、ビュー、プロシージャはいくつですか?
単純なクエリを記述する
フィルター処理、集計、結合に関する一般的な SQL クエリの記述に関するヘルプを参照してください。
- 最新の注文日に基づいて過去 30 日間に注文を行った
SalesLT.Customer
のすべての顧客を一覧表示する T-SQL クエリを作成します。 - 降順に並べ替えられた
SalesLT.SalesOrderHeader
テーブルから顧客ごとの平均注文合計を計算するクエリを生成します。 - 前のクエリを更新して、
SalesLT.Customer
テーブルの各顧客の完全な名前を含めます。
リレーションシップまたは概念について説明する
スキーマのリレーションシップ、クエリ ロジック、または開発に関連する機能の簡単な説明を求めます。
- 現在のデータベースの
SalesLT.SalesOrderHeader
テーブルとSalesLT.Customer
テーブルの間の外部キーリレーションシップについて説明します。 - T-SQL を初めて使用する開発者です。
SalesLT.SalesOrderHeader
がSalesLT.Customer
に関連する方法と、関連するキーについて説明します。 - SQL Server でのベクター データ型のしくみと、それらを AI シナリオで使用するタイミングについて説明します。
移行または統合コードを生成する
SQL または ORM ベースの移行スクリプトの生成に関するヘルプを要求します。
-
SalesLT.SalesOrderDetail.ProductID
を参照するSalesLT.Product.ProductID
に外部キー制約を追加する T-SQL スクリプトを作成します。 - 両方が存在すると仮定して、
SalesLT.SalesOrderDetail.ProductID
からSalesLT.Product.ProductID
に外部キーを追加する続編移行を生成します。
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 を呼び出し、質問したり、クエリの変更を要求したりすることもできます。
フィードバック: インライン GitHub Copilot の提案
MSSQL 拡張機能の GitHub Copilot を改良および改善するために、次の GitHub 問題テンプレートを使用してフィードバックを送信します。 GitHub Copilot フィードバック
フィードバックを送信する場合は、次の内容を検討してください。
テスト済みのシナリオ – スキーマの作成、クエリの生成、セキュリティ、ローカライズなど、どの領域に重点を置いたかをお知らせください。
うまくいったこと - スムーズで役に立ち、期待を超えた経験について説明します。
問題またはバグ – 問題、不整合、または混乱を招く動作を含めます。 スクリーンショットや画面の記録は特に役立ちます。
改善の提案 – 使いやすさの向上、カバレッジの拡大、GitHub Copilot の応答の強化に関するアイデアを共有します。
関連コンテンツ
- Visual Studio Code 用 MSSQL 拡張機能のための GitHub Copilot
- クイック スタート: コードの生成 (プレビュー)
- クイック スタート: スキーマ エクスプローラーとデザイナーを使用する (プレビュー)
- クイック スタート: スマート クエリ ビルダーを使用する (プレビュー)
- クイック スタート: クエリ オプティマイザー アシスタント (プレビュー)
- クイックスタート: ビジネス ロジック説明ツールを使用する (プレビュー)
- クイック スタート: Security Analyzer (プレビュー)
- クイック スタート: ローカライズと書式設定ヘルパー (プレビュー)
- クイック スタート: テストとモック作成のためにデータを生成する (プレビュー)
- 制限事項と既知の問題