GitHub Copilot は、開発者が SQL および ORM ベースのワークフロー内でローカライズと書式設定のニーズに直接対処することで、グローバルに対応するアプリケーションを構築するのに役立ちます。 多言語コンテンツ、地域固有の日付と数値の形式、検索と並べ替えの照合順序設定のいずれを使用する場合でも、GitHub Copilot では、データベースとコードを国際的なユーザーに提供するためのインテリジェントなコンテキスト対応の支援を提供します。
始めましょう
データベースに接続されていて、MSSQL 拡張機能でアクティブなエディター ウィンドウが開かれていることを確認します。 この接続により、 @mssql
チャット参加者はデータベース環境のコンテキストを理解できるため、正確でコンテキストに対応した提案が可能になります。 データベース接続がないと、チャット参加者は意味のある応答を提供するスキーマまたはデータ コンテキストを持ちません。
次の例では、 AdventureWorksLT2022
サンプル データベースを使用します。このデータベースは、 Microsoft SQL Server サンプルとコミュニティ プロジェクト のホーム ページからダウンロードできます。
最適な結果を得るには、独自の環境に合わせてテーブル名とスキーマ名を調整します。
チャットに @mssql
プレフィックスが含まれていることを確認します。 たとえば、「 @mssql
」と入力し、その後に質問またはプロンプトを入力します。 これにより、チャット参加者は、SQL 関連のサポートを求めていることを理解できます。
GitHub Copilot を使用してローカライズと書式設定を処理する
GitHub Copilot は、SQL および ORM ベースのワークフローでのローカライズと書式設定のタスクを支援できます。 多言語コンテンツをサポートするスキーマの設計、地域標準のクエリの書式設定、ローカライズのベスト プラクティスに準拠したコードの生成に役立ちます。
チャット参加者から質問できる一般的なユース ケースと例を次に示します。
多言語およびロケール固有のデータを最適化する
GitHub Copilot を使用すると、地域標準のクエリの書式設定、適切な照合順序設定の選択、多言語コンテンツをサポートするスキーマ要素の設計 (複数の言語での製品の説明の格納など) に役立ちます。
ローカライズされたテーブルを設計して、
SalesLT.Product
テーブルの製品の説明を格納します。 テーブルが複数の言語をサポートし、SalesLT.Product
とのリレーションシップを含み、効率的なクエリを実行できることを確認します。日付を日本語形式で表示するクエリの書式を設定します。
SELECT FORMAT(GETDATE(), 'yyyy/MM/dd') AS CurrentDate;
SQL Server で多言語ユーザー入力と検索機能をサポートする場合は、照合順序の設定を選択するためのベスト プラクティスをお勧めします。
Prisma モデルとクエリを記述して、データベース内の
SalesLT.Product
テーブルの多言語製品の説明を格納および取得します。 スキーマが複数の言語をサポートし、SalesLT.Product
との外部キー関係を維持し、ローカライズされた説明の効率的なクエリを実行できることを確認します。
コード優先のローカリゼーション シナリオ
これらの例では、ローカライズされたデータを格納および取得する ORM モデルとクエリを生成することで、GitHub Copilot がコード優先ワークフローをサポートする方法を示します。 この例は、Prisma、SQLAlchemy、Entity Framework、Sequelize、Django などの一般的な ORM を網羅しています。
Entity Framework Core を使用して、複数の言語にマップされ、
ProductDescriptionLocalized
に関連するSalesLT.Product
のモデルを定義します。 言語コードでフィルター処理するロジックを含めます。Prisma で、
SalesLT.Product
のローカライズされた説明をサポートするスキーマを生成し、スペイン語 (es
) で特定の製品の説明を取得するクエリを記述します。Sequelizeを使用して、製品の説明を格納するための
ProductID
、LanguageCode
、Description
を用いたローカライズされたテーブルを作成します。 使用可能な場合は日本語の説明を返すクエリを記述し、それ以外の場合は既定の言語にフォールバックします。SQLAlchemy を使用して、既定の言語へのフォールバック ロジックを使用して、ユーザー指定のロケールに基づいて、特定の
ProductID
のローカライズされた名前と説明を取得する関数を記述します。Django ORM では、製品のローカライズをサポートするモデルを設計し、フランス語 (
fr
) で名前と説明を持つすべての製品を取得するクエリを記述します。これには、NULL
として不足している翻訳も含まれます。
フィードバック: ローカリゼーションおよび書式設定ヘルパー
MSSQL 拡張機能の GitHub Copilot を改良および改善するために、次の GitHub 問題テンプレートを使用してフィードバックを送信します。 GitHub Copilot フィードバック
フィードバックを送信する場合は、次の内容を検討してください。
テスト済みのシナリオ – スキーマの作成、クエリの生成、セキュリティ、ローカライズなど、どの領域に重点を置いたかをお知らせください。
うまくいったこと - スムーズで役に立ち、期待を超えた経験について説明します。
問題またはバグ – 問題、不整合、または混乱を招く動作を含めます。 スクリーンショットや画面の記録は特に役立ちます。
改善の提案 – 使いやすさの向上、カバレッジの拡大、GitHub Copilot の応答の強化に関するアイデアを共有します。
関連コンテンツ
- Visual Studio Code 用 GitHub Copilot 向けの MSSQL 拡張機能
- クイック スタート: チャットとインライン GitHub Copilot の提案を使用する (プレビュー)
- クイック スタート: コードの生成 (プレビュー)
- クイック スタート: スキーマ エクスプローラーとデザイナーを使用する (プレビュー)
- クイック スタート: スマート クエリ ビルダーを使用する (プレビュー)
- クイック スタート: クエリ オプティマイザー アシスタント (プレビュー)
- クイックスタート: ビジネス ロジック説明ツールを使用する (プレビュー)
- クイック スタート: Security Analyzer (プレビュー)
- クイック スタート: テストとモック作成のためにデータを生成する (プレビュー)
- 制限事項と既知の問題