在 VS Code 中使用提问模式
Visual Studio Code 中的聊天功能允许您使用自然语言与大型语言模型 (LLM) 交互,以获得代码方面的帮助。聊天的提问模式经过优化,可通过使用自然语言来询问有关您的代码库、编码和通用技术概念的问题。提问模式对于更好地理解您的代码库、集思广益以及获得编码任务方面的帮助特别有用。
如果您还没有 Copilot 订阅,您可以通过注册 Copilot 免费计划 来免费使用 Copilot,并获得每月有限的补全和聊天互动次数。
使用提问模式
-
通过从 VS Code 标题栏中的 Copilot 菜单中选择“打开聊天”来打开聊天视图,或者使用 ⌃⌘I (Windows、Linux Ctrl+Alt+I) 键盘快捷方式。
-
从聊天视图中的聊天模式下拉列表中选择“提问”。
-
在聊天输入字段中键入您的问题,然后选择“发送”(Enter) 以提交它。
尝试使用以下示例问题开始入门
什么是工厂设计模式?
如何在 JavaScript 中使用 fetch API?
如何创建一个新的 React 组件?
您可以通过将上下文添加到您的提示(通过添加工作区文件或使用
#codebase
引用整个代码库)来提出特定于您的代码库的问题。 -
请注意,根据您的问题,响应可能包含不同类型的富内容,例如代码块、终端命令、链接或对您的代码的引用。
了解如何将代码块应用到您的代码库,或直接在集成终端中运行终端命令。
添加聊天上下文
您可以将上下文添加到您的聊天提示,以获得更相关的响应,或提出特定于您的代码库的问题。例如,您可以询问 how to implement authentication in this #codebase
,而不是询问如何在 Web 应用程序中实现身份验证。
选择聊天输入字段中的“添加上下文”按钮以将上下文添加到您的提示,或键入 #
以引用聊天变量。
您还可以将文件拖放到聊天视图上,以将其添加为上下文。获取有关将上下文添加到您的聊天提示的更多详细信息。
通过在您的提示中添加 #codebase
,让 Copilot 自动查找正确的文件。确保启用 github.copilot.chat.codesearch.enabled (预览) 设置以获得最佳结果。
应用来自聊天的代码块
当您的聊天响应包含代码块时,您可以将它们分别应用到工作区中的相应文件。Copilot 执行智能应用,并将更改插入到文件中的正确位置。
要将代码块应用到您的代码库,请将鼠标悬停在代码块上,然后选择“在编辑器中应用”按钮。Copilot 尝试将建议的更改应用到您的现有代码。
或者,您也可以复制代码或将其插入到当前光标位置。将鼠标悬停在代码块上,然后选择相应的操作。
根据语言扩展,聊天响应中的代码块可能支持 IntelliSense,类似于编辑器中的体验。
如果代码块包含 shell 命令,您可以使用“插入到终端”(⌃⌥Enter (Windows、Linux Ctrl+Alt+Enter)) 操作直接在集成终端中运行它。
使用“聊天:下一个代码块”(⌥⌘PageDown (Windows、Linux Ctrl+Alt+PageDown)) 和“聊天:上一个代码块”(⌥⌘PageUp (Windows、Linux Ctrl+Alt+PageUp)) 命令在代码块之间导航。
快速聊天
要在不启动完整聊天会话的情况下提出快速问题,您可以打开快速聊天。从标题栏中的 Copilot 菜单中选择“快速聊天”,或使用 键盘快捷方式。
您可以在快速聊天中提出问题,如果您想继续对话,请使用“在聊天视图中打开”按钮将其升级为完整的聊天会话。
特殊关键字
在您的提示中,您可以使用特殊关键字来获得更相关的响应
-
聊天参与者可以通过提供特定领域的知识来增强您的聊天体验,例如如何与数据库或特定 API 交互。在聊天输入字段中键入
@
以查看并从可用参与者列表中进行选择。有几个内置的聊天参与者,如@workspace
、@vscode
、@terminal
和@github
。扩展也可以贡献聊天参与者。转到Marketplace 或使用集成的扩展视图 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 并按标签chat-participant
(tag:chat-participant
) 搜索。 -
斜杠命令提供常用指令的快捷方式,例如
/fix
以提出问题的修复方案,或/explain
以解释所选代码的工作原理。在聊天输入字段中键入/
以查看可用斜杠命令的列表。 -
聊天变量允许您在提示文本中引用特定的上下文。例如,使用
#file
引用工作区文件,或使用#codebase
让 Copilot 查找要添加为上下文的相关文件。在聊天输入字段中键入#
以查看可用变量的列表。