🚀 在 VS Code 中

在 VS Code 中使用提问模式

Visual Studio Code 中的聊天功能允许您使用自然语言与大型语言模型 (LLM) 交互,以获得代码方面的帮助。聊天的提问模式经过优化,可通过使用自然语言来询问有关您的代码库、编码和通用技术概念的问题。提问模式对于更好地理解您的代码库、集思广益以及获得编码任务方面的帮助特别有用。

提示

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

使用提问模式

  1. 通过从 VS Code 标题栏中的 Copilot 菜单中选择“打开聊天”来打开聊天视图,或者使用 ⌃⌘I (Windows、Linux Ctrl+Alt+I) 键盘快捷方式。

  2. 从聊天视图中的聊天模式下拉列表中选择“提问”。

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

  3. 在聊天输入字段中键入您的问题,然后选择“发送”(Enter) 以提交它。

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

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

    您可以通过将上下文添加到您的提示(通过添加工作区文件或使用 #codebase 引用整个代码库)来提出特定于您的代码库的问题。

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

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

添加聊天上下文

您可以将上下文添加到您的聊天提示,以获得更相关的响应,或提出特定于您的代码库的问题。例如,您可以询问 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。扩展也可以贡献聊天参与者。转到Marketplace 或使用集成的扩展视图 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 并按标签 chat-participant (tag:chat-participant) 搜索。

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

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