GitHub Copilot は、開発者が SQL および ORM ベースのワークフロー内でローカライズと書式設定のニーズに直接対処することで、グローバルに対応するアプリケーションを構築するのに役立ちます。 多言語コンテンツ、地域固有の日付と数値の形式、検索と並べ替えの照合順序設定のいずれを使用する場合でも、GitHub Copilot では、データベースとコードを国際的なユーザーに提供するためのインテリジェントなコンテキスト対応の支援を提供します。
概要
データベースに接続されていて、MSSQL 拡張機能でアクティブなエディター ウィンドウが開かれていることを確認します。 この接続により、 @mssql チャット参加者はデータベース環境のコンテキストを理解できるため、正確でコンテキストに対応した提案が可能になります。 データベース接続がないと、チャット参加者は意味のある応答を提供するスキーマまたはデータ コンテキストを持ちません。
次の例では、 AdventureWorksLT2022 サンプル データベースを使用します。このデータベースは、 Microsoft SQL Server サンプルとコミュニティ プロジェクト のホーム ページからダウンロードできます。
最適な結果を得るには、独自の環境に合わせてテーブル名とスキーマ名を調整します。
チャットに @mssql プレフィックスが含まれていることを確認します。 たとえば、「 @mssql 」と入力し、その後に質問またはプロンプトを入力します。 これにより、チャット参加者は、SQL 関連のサポートを求めていることを理解できます。
GitHub Copilot を使用してローカライズと書式設定を処理する
GitHub Copilot は、SQL および ORM ベースのワークフローでのローカライズと書式設定のタスクを支援できます。 多言語コンテンツをサポートするスキーマの設計、地域標準のクエリの書式設定、ローカライズのベスト プラクティスに準拠したコードの生成に役立ちます。
チャット参加者から質問できる一般的なユース ケースと例を次に示します。
多言語およびロケール固有のデータを最適化する
GitHub Copilot を使用すると、地域標準のクエリの書式設定、適切な照合順序設定の選択、多言語コンテンツをサポートするスキーマ要素の設計 (複数の言語での製品の説明の格納など) に役立ちます。
複数の言語で製品の説明を保存する
Design a localized table to store product descriptions for the `SalesLT.Product` table. Ensure the table supports multiple languages, includes a relationship to `SalesLT.Product`, and allows for efficient querying.
別の形式で日付を表示する
Format a query to display dates in Japanese format:
SELECT FORMAT(GETDATE(), 'yyyy/MM/dd') AS CurrentDate;
多言語ユーザー入力の照合順序設定を推奨する
Recommend best practices for choosing collation settings when supporting multilingual user input and search functionality in SQL Server.
複数の言語をサポートするモデルとクエリを作成する
Write Prisma models and queries to store and retrieve multilingual product descriptions for the `SalesLT.Product` table in my database. Ensure the schema supports multiple languages, maintains a foreign key relationship with `SalesLT.Product`, and allows for efficient querying of localized descriptions.
コード優先のローカリゼーション シナリオ
これらの例では、ローカライズされたデータを格納および取得する ORM モデルとクエリを生成することで、GitHub Copilot がコード優先ワークフローをサポートする方法を示します。 この例は、Prisma、SQLAlchemy、Entity Framework、Sequelize、Django などの一般的な ORM を網羅しています。
複数の言語の Entity Framework Core モデルを定義する
Using Entity Framework Core, define a model for `ProductDescriptionLocalized` that maps to multiple languages and relates to `SalesLT.Product`. Include logic to filter by language code.
製品の説明用にローカライズされたスキーマを生成する
In Prisma, generate a schema that supports localized descriptions for `SalesLT.Product`, and write a query to retrieve the description for a given product in Spanish (`es`).
既定のフォールバックを使用して製品の説明を格納するためのテーブルを作成する
With Sequelize, create a localized table for storing product descriptions with `ProductID`, `LanguageCode`, and `Description`. Write a query to return the Japanese description if available, otherwise fall back to the default language.
ロケールに基づいてローカライズされた製品名と説明を取得する
Using SQLAlchemy, write a function that retrieves the localized name and description for a given `ProductID` based on a user-specified locale, with fallback logic to default language.
NULL フォールバックを使用して製品のローカライズをサポートするモデルを設計する
In Django ORM, design models that support product localization and write a query to retrieve all products with their name and description in French (`fr`), including any missing translations as `NULL`.
感想をお聞かせください
MSSQL 拡張機能の GitHub Copilot を改良および改善するために、次の GitHub 問題テンプレートを使用してフィードバックを送信します。 GitHub Copilot フィードバック
フィードバックを送信する場合は、次の内容を検討してください。
テスト済みのシナリオ – スキーマの作成、クエリの生成、セキュリティ、ローカライズなど、どの領域に重点を置いたかをお知らせください。
うまくいったこと - スムーズで役に立ち、期待を超えた経験について説明します。
問題またはバグ – 問題、不整合、または混乱を招く動作を含めます。 スクリーンショットや画面の記録は特に役立ちます。
改善の提案 – 使いやすさの向上、カバレッジの拡大、GitHub Copilot の応答の強化に関するアイデアを共有します。
関連コンテンツ
- Visual Studio Code 用 GitHub Copilot 向けの MSSQL 拡張機能
- クイックスタート: チャット機能とGitHub Copilotのインライン提案を使う
- クイック スタート: コードを生成する
- クイック スタート: スキーマ エクスプローラーとデザイナーを使用する
- クイック スタート: スマート クエリ ビルダーを使用する
- クイック スタート: クエリ オプティマイザー アシスタント
- クイックスタート: ビジネスロジック解説機能の使い方
- クイック スタート: セキュリティ アナライザー
- クイックスタート: テストとモックテスト作成のためにデータを生成する
- 制限事項と既知の問題