在SQL Server Management Studio(SSMS)中的GitHub Copilot中,通过使用引用来添加更多上下文内容(除了其隐式的上下文知识),以获取更好的响应。
隐式上下文
SSMS 中的GitHub Copilot根据活动查询编辑器及其数据库连接自动为提示提供上下文。 聊天上下文隐式包含以下信息:
- 活动查询编辑器中当前选定的文本。
- 查询编辑器中处于活动状态的当前文件。
- 活动查询编辑器的数据库连接。
根据您的提示,Copilot 会读取活动查询编辑器的内容,或读取编辑器中选定的文本。
聊天历史记录
在会话中反复进行和发送多条聊天提示时,Copilot使用聊天提示和响应的历史记录作为您当前的聊天提示的上下文。 可以提出后续问题或澄清以前的问题,而无需重复上下文。 例如,您可以询问How do I change the compatibility mode?,然后进一步跟进How will this change affect query performance?、How do I test changes in query performance?等。
保持聊天对话打开,并且继续反复促使 Copilot 改进所建议的解决方案。 Copilot具有生成的代码的上下文和当前对话历史记录。 在不断提问时,Copilot根据要求进一步优化响应。
使用线程管理聊天历史记录上下文
使用线程使对话保持专注,并确保答案基于相关历史记录。 有关创建、切换和管理线程的详细信息,请参阅 为单独的会话创建线程。
引用其他文件
可以用自然语言询问 T-SQL 相关的问题,GitHub Copilot 对话助手 会根据 SSMS 中活动编辑器的上下文提供答案。 参考提供了Copilot在回答问题时要考虑的特定信息。
通过选择编辑器中打开的其他文件,可以形成更好的问题,而无需写出或粘贴长篇信息。 指定上下文还使Copilot为你提供更相关的答案。
若要在 GitHub Copilot 对话助手中引用文件,请在文件名的开头添加一个 # 符号。 例如,如果你有一个名为GetSalesInfo.sql的文件,则在聊天中将其引用为#GetSalesInfo.sql。
参考结果窗格
从 SSMS 22.5 开始,可以直接在 GitHub Copilot 对话助手中询问有关结果窗格组件的问题。 在活动编辑器中运行查询后,可以询问结果网格或消息选项卡。
例如:
What is the total ItemPrice for lines 1 through 10?
如果结果窗格中包括估计的执行计划或实际执行计划,可以询问:
How do I optimize this query based on the execution plan?
自定义说明
自定义说明可让你自动向提示添加上下文详细信息,而无需每次重复这些详细信息。 在存储库根目录或 USERPROFILE 文件夹中创建自定义说明文件,Copilot 对话助手使用这些说明根据偏好定制响应。
例如,可以指定编码约定、首选 T-SQL 模式或Copilot应在其响应中遵循的格式设置标准。
有关详细信息,请参阅
数据库说明
数据库说明为Copilot提供直接存在于数据库中的数据库特定上下文和指南。 数据库所有者和团队使用自定义说明来描述业务规则、数据约定和使用模式,以便Copilot生成更准确且一致的响应。
有关详细信息,请参阅 在 SQL Server Management Studio 中使用 GitHub Copilot 的数据库指引。
使用斜杠命令进行代码辅助
SSMS 中的 GitHub Copilot 提供代码辅助,帮助您设定常见数据库开发任务的意图。 此意向可以加快工作效率,并帮助你更快地了解和修复查询。 突出显示编辑器中的任何查询,并使用斜杠命令来记录、解释、修复或优化查询。 可以在聊天窗口和内联聊天中使用斜杠命令。
| Command | Usage |
|---|---|
/doc |
添加所选 T-SQL 代码的注释,以帮助查看代码的下一个人了解您所执行的操作。 |
/explain |
获取有关所选 T-SQL 代码的深入详细信息。 |
/fix |
解决 T-SQL 代码中的错误,并返回正确的版本以查看,包括问题的说明和更改的内容。 |
/help |
获取有关使用Copilot 对话助手的帮助。 |
/optimize |
识别查询中的反模式,并做出与 T-SQL 最佳做法一致的更改。 |
相关内容
- 在 SQL Server Management Studio 中使用 GitHub Copilot 对话助手 体验
- 在 SQL Server Management Studio 中开始使用 GitHub Copilot
- GitHub Copilot 在 SQL Server Management Studio 中的场景