快速入门:本地化和格式设置帮助程序(预览版)

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的外键关系,并允许高效查询本地化描述。

代码优先本地化方案

这些示例演示 GitHub Copilot 如何通过生成用于存储和检索本地化数据的 ORM 模型和查询来支持代码优先工作流。 这些示例涵盖常用 ORM,例如 Prisma、SQLAlchemy、Entity Framework、Sequelize 和 Django。

  • 使用 Entity Framework Core 定义一个模型ProductDescriptionLocalized,该模型映射到多种语言并与SalesLT.Product相关。 包括按语言代码进行筛选的逻辑。

  • 在 Prisma 中,生成支持本地化说明 SalesLT.Product的架构,并编写查询以检索西班牙语中给定产品的说明(es)。

  • 使用 Sequelize,创建一个本地化的表,用于存储产品说明,其中包括ProductIDLanguageCodeDescription。 编写查询以返回日语说明(如果可用),否则回退到默认语言。

  • 使用 SQLAlchemy 编写一个函数,该函数根据用户指定的区域设置检索给定 ProductID 的本地化名称和说明,并将回退逻辑回退为默认语言。

  • 在 Django ORM 中,设计支持产品本地化的模型,并编写一个查询,以检索所有产品的法语名称和描述(fr),并且包括任何缺失的翻译作为NULL

反馈:本地化和格式设置帮助程序

为了帮助我们优化和改进 MSSQL 扩展的 GitHub Copilot,请使用以下 GitHub 问题模板提交反馈: GitHub Copilot 反馈

提交反馈时,请考虑包括:

  • 测试方案 – 告诉我们你关注哪些领域,例如架构创建、查询生成、安全性、本地化。

  • 效果良好 - 描述任何感觉流畅、有用或超出预期的体验。

  • 问题或漏洞 – 包括任何问题、不一致或令人困惑的行为。 屏幕截图或屏幕录制特别有用。

  • 改进建议 - 分享改进可用性、扩大覆盖范围或增强 GitHub Copilot 响应的想法。