在 VS Code 中试用

在 VS Code 中使用询问模式

Visual Studio Code 中的聊天功能允许你使用自然语言与大型语言模型 (LLMs) 交互,以获得代码帮助。聊天的询问模式针对询问有关代码库、编码和一般技术概念的问题进行了优化。询问模式对于更好地理解代码库、集思广益以及获得编码任务的帮助特别有用。

提示

如果你还没有 Copilot 订阅,可以通过注册 Copilot 免费计划 免费使用 Copilot,并获得每月一定的补全和聊天交互次数限制。

先决条件

使用询问模式

按照以下步骤开始使用

  1. 在 VS Code 稳定版Insiders 版本 中打开询问模式。

    或者,打开聊天视图 (⌃⌘I (Windows、Linux Ctrl+Alt+I)) 并从聊天模式选择器中选择 询问

    Screenshot showing the Copilot Chat view, highlighting the Ask button.

  2. 在聊天输入字段中输入你的问题,然后选择 发送 (Enter) 提交。

    尝试使用以下示例问题开始

    • 什么是工厂设计模式?
    • 如何在 JavaScript 中使用 fetch API?
    • 如何创建新的 React 组件?

    你也可以通过向提示添加上下文来询问特定于你的代码库的问题,方法是添加工作区文件或使用 #codebase 引用整个代码库。

  3. 请注意,根据你的问题,响应可能包含不同类型的富文本内容,例如代码块、终端命令、链接或对你的代码的引用。

    了解如何将代码块应用到你的代码库,或直接在集成终端中运行终端命令。

添加聊天上下文

你可以向聊天提示添加上下文以获得更相关的响应,或询问特定于你的代码库的问题。例如,你可以询问 how to implement authentication in this #codebase,而不是询问如何在 Web 应用中实现身份验证。

选择聊天输入字段中的 添加上下文 按钮,向提示添加上下文,或键入 # 引用聊天变量

Screenshot of the Copilot Chat view with the context menu open

你还可以将文件拖放到聊天视图中,将其添加为上下文。获取有关向聊天提示添加上下文的更多详细信息。

提示

通过在提示中添加 #codebase,让 Copilot 自动找到正确的文件。请确保启用 github.copilot.chat.codesearch.enabled (预览) 设置以获得最佳结果。

应用聊天中的代码块

当你的聊天响应包含代码块时,你可以将它们分别应用到工作区中相应的文件。Copilot 会进行智能应用,并将更改插入到文件中的正确位置。

要将代码块应用到你的代码库,请将鼠标悬停在代码块上,然后选择 在编辑器中应用 按钮。Copilot 会尝试将建议的更改应用到你的现有代码。

Screenshot of a Copilot Chat code block response, highlighting the actions to apply changes.

或者,你也可以复制代码或将其插入到当前光标位置。将鼠标悬停在代码块上,然后选择相应的操作。

根据语言扩展的不同,聊天响应中的代码块可能支持 IntelliSense,类似于在编辑器中的体验。

如果代码块包含 shell 命令,你可以使用 插入到终端 (⌃⌥Enter (Windows、Linux Ctrl+Alt+Enter)) 操作直接在集成终端中运行它。

Copilot Chat code block to list files with Insert into Terminal option visible

提示

使用 聊天:下一个代码块 (⌥⌘PageDown (Windows、Linux Ctrl+Alt+PageDown)) 和 聊天:上一个代码块 (⌥⌘PageUp (Windows、Linux Ctrl+Alt+PageUp)) 命令在代码块之间导航。

快速聊天

要在不开始完整的聊天会话的情况下快速提问,你可以打开快速聊天。从标题栏中的 Copilot 菜单中选择 快速聊天,或使用 键盘快捷方式。

你可以在快速聊天中提问,如果想继续对话,可以使用 在聊天视图中打开 按钮将其提升为完整的聊天会话。

Screenshot showing the Quick Chat view, containing the answer to the question "what is recursion".

特殊关键词

在你的提示中,你可以使用特殊关键词来获得更相关的响应

  • 聊天参与者 可以通过提供特定领域的知识(例如如何与数据库或特定 API 交互)来增强你的聊天体验。在聊天输入字段中键入 @ 查看可用参与者列表并从中选择。有一些内置的聊天参与者,如 @workspace@vscode@terminal@github。扩展也可以贡献聊天参与者。转到市场或使用集成的扩展视图 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 并按标签 chat-participant (tag:chat-participant) 搜索。

  • 斜杠命令 提供常用指令的快捷方式,例如 /fix 建议问题的修复方法,或 /explain 解释选定的代码如何工作。在聊天输入字段中键入 / 查看可用的斜杠命令列表。

  • 聊天变量 允许你在提示文本中引用特定上下文。例如,使用 # 后跟文件名来引用工作区文件,或使用 #codebase 让 Copilot 查找要添加为上下文的相关文件。在聊天输入字段中键入 # 查看可用变量列表。