检查 GitHub Copilot 聊天视图功能

已完成

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

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

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

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

选择代理

聊天视图提供以下内置代理:

  • 代理:使用代理启动代理编码工作流。 可以使用代理在工作区中自主编辑代码、运行命令和执行任务。
  • 计划:使用计划代理为任务创建结构化的分步实施计划。 计划代理分析请求,将其分解为离散步骤,并生成一个详细的计划,可移交给代理实现。
  • :使用 Ask 代理询问有关代码库或技术概念的问题。 可以使用 Ask 代理解释代码、建议修订或修复,或者提供与代码库相关的信息。

若要切换代理,请在聊天视图底部打开代理选取器,然后选择 “代理”、“ 计划”或“ 询问”。

重要

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

将上下文添加到聊天会话

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

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

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

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

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

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

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

使用 Ask

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

管理 Ask 代理的代码建议

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

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

Copilot聊天代码块响应的截图,突出显示了用于应用更改的操作。

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

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

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

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

使用 计划

计划代理针对复杂任务创建结构化的分步实施计划进行优化。 如果要在进行更改之前将大型任务分解为离散步骤,计划代理非常有用。 输入提示时,计划代理会分析你的请求、评估基本代码,并使用各个步骤生成详细的实施计划。

生成计划后,聊天视图会显示结构化计划,其中包含步骤列表。 可以在继续作之前查看计划、提供反馈并优化步骤。 对计划感到满意后,可以将其移交给代理进行实现。

还原编辑

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

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

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

使用 代理

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

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

确认工具调用和终端命令

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

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

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

概要

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