检查 GitHub Copilot 对话助手视图功能

已完成

Visual Studio Code 中的聊天视图用于管理你和 AI 对程序员之间的聊天对话。 默认情况下,聊天视图位于 Visual Studio Code 窗口右侧的辅助侧栏中。

聊天视图界面包括三个部分:顶部附近的工具栏、中心的显示区域以及底部的输入和控制菜单。

屏幕截图显示如何在 Visual Studio Code 中访问聊天视图。

若要打开“聊天”视图,可以选择 “切换聊天 ”按钮(Copilot 图标),或使用 Ctrl+Alt+I 键盘快捷方式。

选择聊天模式

聊天视图提供以下模式:

  • :使用提问模式询问有关代码库或技术概念的问题。 可以使用询问模式解释代码、建议修订或修复,或者提供与代码库相关的信息。
  • 编辑:使用编辑模式对代码库中的多个文件进行编辑。 可以使用编辑模式重构代码、添加注释或对代码进行其他更改。
  • 代理:使用代理模式启动代理编码工作流。 可以使用代理模式在工作区中运行命令、执行代码或执行其他任务。

若要切换模式,请在聊天视图底部打开 “设置模式 ”菜单,然后选择“ 询问”、“ 编辑”或 “代理”。

重要

在代理模式下使用聊天视图时,GitHub Copilot 可能会发出多个高级请求来完成单个任务。 高级请求可由用户发起的提示和 Copilot 代表你采取的后续操作使用。 使用的高级请求总数取决于任务的复杂性、所涉及的步骤数和所选模型。

将上下文添加到聊天会话

改进提示上下文可提高 GitHub Copilot 响应的相关性。

可通过两种方法直接在提示中指定上下文:

  • 在提示的自然语言文本中指定上下文。
  • 在提示中包括聊天变量,例如 #selection

除了这些选项之外,聊天视图还提供另外两种方法来添加上下文:

  • 您可以使用拖放操作将 Visual Studio Code 的 EXPLORER 视图中的文件添加到聊天视图中。
  • 可以在聊天输入字段中选择 “添加上下文 ”按钮,将上下文添加到提示

选择“ 添加上下文 ”按钮时,将显示一个菜单,用于从可用的上下文类型中进行选择。 可以列出以下上下文类型:

  • 文件和文件夹:此选项允许将工作区中的文件和文件夹添加到聊天提示。 可以选择一个或多个文件或文件夹以添加为上下文。
  • 说明:此选项允许你选择一个自定义说明文件,该文件描述常见准则或规则,以获取与特定编码做法和技术堆栈匹配的响应。
  • 问题:此选项允许将问题从“问题”选项卡添加到聊天提示。 可以选择一个或多个问题以添加为上下文。
  • 符号:此选项允许向聊天提示添加 Visual Studio Code 符号构造。 可以选择一个或多个符号以添加为上下文。
  • 屏幕截图窗口:此选项允许你获取当前窗口的屏幕截图,并将其添加到聊天提示。
  • 终端命令输出:此选项允许将终端中最后一个命令运行的输出添加到聊天提示。
  • 搜索结果:此选项允许将搜索结果从“搜索”视图添加到聊天提示。 可以选择一个或多个搜索结果以添加为上下文。
  • 测试失败:此选项允许将测试失败的详细信息添加到聊天提示。
  • 工具:此选项允许向聊天提示添加工具(例如 #fetch 工具)。 可以选择一个或多个工具作为上下文进行添加。
  • 最近使用的文件(最近在 Visual Studio Code 中打开的文件列表)。

使用 Ask 模式

询问模式经过优化,可询问有关代码项目、编码主题和常规技术概念的问题。 需要了解代码库、集思广益或获取有关编码任务的帮助时,询问模式非常有用。 当你输入提示时,AI 配对程序员会用自然语言描述、代码片段和其他相关信息来回应,以帮助你完成编码任务。 响应显示在聊天视图中。

管理请求模式下的代码建议

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

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

Copilot 对话助手代码块响应的屏幕截图,其中突出显示了应用更改的操作。

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

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

如果代码块包含 shell 命令,则可以使用 Insert into Terminal(Ctrl+Alt+Enter)作直接在集成终端中运行它。

Copilot Chat 代码块的屏幕截图,其中“插入到终端”选项可见。

使用 编辑 模式

编辑模式经过优化,用于在工作区中提出代码更新建议。 需要重构代码、添加注释或对代码进行其他更改时,编辑模式非常有用。 输入提示时,AI 结对程序员会直接在编辑器中应用建议的代码更新,你可以在编辑器中结合周围代码的完整上下文就地查看这些更新。 响应包括对话助手视图中的说明,并且可以包括对项目中多个文件的编辑。

编辑模式下 Copilot Chat 的屏幕截图,其中显示了两个更新的文件。

建议更新的详细描述将在聊天界面中显示,并附上更新文件列表。 聊天视图提供了保留所有更新、 保留或撤消所有更新、 撤消的选项。

更新的文件在编辑器中打开,其中突出显示了更改。 可以使用向上和向下箭头滚动浏览建议的更新,并决定 保留撤消 单个更新。 还可以在接受更新之前根据需要进行任何其他修改。

还原编辑

完成一系列代码更新之后,你可能会决定需要回滚某些更改。 例如,你可能想要使用不同的实现策略,或者 Copilot 在生成编辑时可能走错了路径。

可以使用聊天视图标题栏中的 “撤消上次编辑” 控件还原上次编辑,并在发送最后一个请求之前返回到状态。 执行最后一次编辑的撤消后,可以使用聊天视图标题栏中的 “重做最后一次编辑” 控件重新编辑这些编辑。

聊天视图的屏幕截图,其中显示了撤消和重做上次编辑控件。

使用 代理 模式

代理模式允许你指定高级任务,并允许 AI 自主评估请求、规划所需的工作,并将更改应用于代码库。 代理模式使用代码编辑和工具调用的组合来完成指定的任务。 处理请求时,它会监控编辑和工具的结果,并不断调整以解决任何出现的问题。 在处理迭代时,代码更新直接在编辑器中进行。 任务进度受到监视,更新将显示在聊天视图中。

代理模式使用工具在处理用户请求时完成专用任务。 例如,列出目录中的文件、编辑工作区中的文件、运行终端命令或从终端获取输出

确认工具调用和终端命令

在 Copilot 运行终端命令或未内置工具之前,它会请求确认以继续。 确认是必需的,因为工具可能在计算机上本地运行,并执行修改文件或数据的作。

使用 “继续 ”按钮的下拉列表选项自动确认当前会话、工作区或所有将来调用的特定工具。

要求确认的代理模式的屏幕截图。

概要

Visual Studio Code 中的聊天视图用于管理你和 AI 对程序员之间的聊天对话。 聊天视图界面包括三个部分:顶部附近的工具栏、中心的显示区域以及底部的输入和控制菜单。 聊天视图提供三种模式:Ask、Edit 和 Agent。 可以通过在提示中指定上下文、使用聊天变量或使用 “添加上下文 ”按钮,将上下文添加到聊天会话。 询问模式经过优化,可询问有关代码项目、编码主题和常规技术概念的问题。 编辑模式经过优化,用于在工作区中提出代码更新建议。 代理模式允许你指定高级任务,并允许 AI 自主评估请求、规划所需的工作,并将更改应用于代码库。