在 VS Code 中使用询问模式
Visual Studio Code 中的聊天功能允许你使用自然语言与大型语言模型 (LLMs) 交互,以获得代码帮助。聊天的询问模式针对询问有关代码库、编码和一般技术概念的问题进行了优化。询问模式对于更好地理解代码库、集思广益以及获得编码任务的帮助特别有用。
如果你还没有 Copilot 订阅,可以通过注册 Copilot 免费计划 免费使用 Copilot,并获得每月一定的补全和聊天交互次数限制。
先决条件
- 安装最新版本的 Visual Studio Code
- 访问 Copilot
使用询问模式
按照以下步骤开始使用
-
在 VS Code 稳定版 或 Insiders 版本 中打开询问模式。
或者,打开聊天视图 (⌃⌘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
。扩展也可以贡献聊天参与者。转到市场或使用集成的扩展视图 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 并按标签chat-participant
(tag:chat-participant
) 搜索。 -
斜杠命令 提供常用指令的快捷方式,例如
/fix
建议问题的修复方法,或/explain
解释选定的代码如何工作。在聊天输入字段中键入/
查看可用的斜杠命令列表。 -
聊天变量 允许你在提示文本中引用特定上下文。例如,使用
#
后跟文件名来引用工作区文件,或使用#codebase
让 Copilot 查找要添加为上下文的相关文件。在聊天输入字段中键入#
查看可用变量列表。