查看 GitHub Copilot 对话助手视图功能
Visual Studio Code中的聊天视图用于管理你和 AI 对程序员之间的聊天对话。 默认情况下,聊天视图位于Visual Studio Code窗口右侧的辅助侧栏中。
聊天视图界面包括三个部分:顶部附近的工具栏、中心的显示区域以及底部的输入和控制菜单。
若要打开“聊天”视图,可以选择 “切换聊天 ”按钮,或使用 Ctrl+Alt+I 键盘快捷方式。
选择代理
聊天视图提供以下内置代理:
- 代理:使用代理启动代理编码工作流。 可以使用代理在工作区中自主编辑代码、运行命令和执行任务。
- 计划:使用计划代理为任务创建结构化的分步实施计划。 计划代理分析请求,将其分解为离散步骤,并生成一个详细的计划,可移交给代理实现。
- 问:使用 Ask 代理询问有关代码库或技术概念的问题。 可以使用 Ask 代理解释代码、建议修订或修复,或者提供与代码库相关的信息。
若要切换代理,请在聊天视图底部打开代理选取器,然后选择 “代理”、“ 计划”或“ 询问”。
重要
在代理模式下使用聊天视图时,GitHub Copilot可能会发出多个高级请求来完成单个任务。 高级请求可用于用户发起的提示词以及 GitHub Copilot 代表你执行的后续操作。 使用的高级请求总数取决于任务的复杂性、所涉及的步骤数和所选模型。
选择代理运行位置
选择代理可确定其角色,但还可以使用“聊天”视图中的“代理目标”下拉列表控制其运行位置。 这将确定代理如何与工作区交互,以及何时收到结果。
- 本地:在编辑器中以交互方式运行,对工作区、工具和模型具有完全访问权限。 使用此代码进行实时编码、代码库浏览或任何要在其中查看每个步骤的任务。
- GitHub Copilot CLI:在计算机上后台运行。 如果要在继续处理其他任务时实现定义良好的任务,请使用此功能。
- Cloud:使用GitHub Copilot远程运行,并与GitHub拉取请求集成。 使用此功能委派 GitHub 问题或创建拉取请求供团队审查。
- 第三方:使用来自 Anthropic 和 OpenAI 的代理组件,可以在本地或云端运行。
控制智能体权限
还可以通过 “权限” 选择器在聊天视图中控制代理的自主性程度。 赋予代理更多的自主性可以提高效率,但减少了对各个步骤的监督。
| 权限级别 | 说明 |
|---|---|
| 默认审批 | 只有安全的只读工具可以在无需显式确认的情况下运行。 大多数工具调用都显示确认对话框。 |
| 绕过审批 | 自动批准所有工具调用,而无需确认对话框。 |
| Autopilot (预览版) | 自动批准所有工具调用,自动响应澄清问题,代理完全自主工作,直到任务完成。 |
将上下文添加到聊天会话
改进提示上下文可提高GitHub Copilot响应的相关性。
可通过两种方法直接在提示中指定上下文:
- 在提示的自然语言文本中指定上下文。
- 在提示中包括聊天变量,例如
#selection。
除了这些选项之外,聊天视图还提供另外两种方法来添加上下文:
- 可以使用拖放操作将Visual Studio Code的 EXPLORER 视图中的文件添加到聊天视图。
- 可以在聊天输入字段中选择 “添加上下文 ”按钮,将上下文添加到提示
选择“ 添加上下文 ”按钮时,将显示一个菜单,用于从可用的上下文类型中进行选择。 可以列出以下上下文类型:
- 文件和文件夹:此选项允许将工作区中的文件和文件夹添加到聊天提示。 可以选择一个或多个文件或文件夹以添加为上下文。
- 说明:此选项允许你选择一个自定义说明文件,该文件描述常见准则或规则,以获取与特定编码做法和技术堆栈匹配的响应。
- 问题:此选项允许将问题从“问题”选项卡添加到聊天提示。 可以选择一个或多个问题以添加为上下文。
- 符号:此选项允许向聊天提示添加Visual Studio Code符号构造。 可以选择一个或多个符号以添加为上下文。
- 屏幕截图窗口:此选项允许你获取当前窗口的屏幕截图,并将其添加到聊天提示。
- 终端命令输出:此选项允许将终端中最后一个命令运行的输出添加到聊天提示。
- 搜索结果:此选项允许将搜索结果从“搜索”视图添加到聊天提示。 可以选择一个或多个搜索结果以添加为上下文。
- 测试失败:此选项允许将测试失败的详细信息添加到聊天提示。
- 工具:此选项允许向聊天提示添加工具(例如 #fetch 工具)。 可以选择一个或多个工具作为上下文进行添加。
- 最近使用的文件(最近在Visual Studio Code中打开的文件列表)。
使用 Ask
Ask 代理经过优化,可询问有关代码项目、编码主题和常规技术概念的问题。 需要了解代码库、集思广益或获取有关编码任务的帮助时,Ask 代理非常有用。 当你输入提示时,AI 配对程序员会用自然语言描述、代码片段和其他相关信息来回应,以帮助你完成编码任务。 响应显示在聊天视图中。
管理 Ask 代理的代码建议
当聊天响应包含代码块时,可以将它们单独应用于工作区中的相应文件。 GitHub Copilot执行智能应用并在文件的正确位置插入更改。
若要将代码块应用于代码库,请将鼠标指针悬停在代码块上,然后选择代码块右上角显示的某个操作按钮。 三个操作按钮是:
- 在编辑器中应用:此选项将代码块应用于工作区中的相应文件。 GitHub Copilot执行智能应用并在文件的正确位置插入更改。
- 在光标处插入:此选项将代码块内容插入到活动编辑器中的当前游标位置。
- 复制:此选项将代码块内容复制到剪贴板。
根据语言扩展,聊天响应中的代码块可能支持 IntelliSense,类似于编辑器中的体验。
如果建议的代码块包含 shell 命令,则会显示 “插入终端 操作”按钮。 此选项将命令发送到集成终端,并在其中运行它。
使用 计划
计划代理针对复杂任务创建结构化的分步实施计划进行优化。 如果要在进行更改之前将大型任务分解为离散步骤,计划代理非常有用。 输入提示时,计划代理会分析你的请求、评估基本代码,并使用各个步骤生成详细的实施计划。
生成计划后,聊天视图会显示结构化计划,其中包含步骤列表。 可以在继续作之前查看计划、提供反馈并优化步骤。 对计划感到满意后,可以将其移交给代理进行实现。
使用 代理
代理允许你指定高级任务,并允许 AI 自主评估请求、规划所需的工作,并将更改应用到代码库。 代理使用代码编辑和工具调用的组合来完成指定的任务。 处理请求时,它会监控编辑和工具的结果,并不断调整以解决任何出现的问题。 在处理迭代时,代码更新直接在编辑器中进行。 任务进度受到监视,更新将显示在聊天视图中。
代理使用工具在处理用户请求时完成专用任务。 例如,列出目录中的文件、编辑工作区中的文件、运行终端命令或从终端获取输出。
还原编辑
完成一系列代码更新之后,你可能会决定需要回滚某些更改。 例如,你可能想要使用不同的实现策略,或者GitHub Copilot在生成编辑时可能走错了路径。
可以使用聊天视图标题栏中的 “撤消上次编辑” 控件还原上次编辑,并在发送最后一个请求之前返回到状态。 执行最后一次编辑的撤消后,可以使用聊天视图标题栏中的 “重做最后一次编辑” 控件重新编辑这些编辑。
确认工具调用和终端命令
在GitHub Copilot运行终端命令或未内置工具之前,它会请求确认以继续。 确认是必需的,因为工具可能在计算机上本地运行,并执行修改文件或数据的作。
使用 “继续 ”按钮的下拉列表选项自动确认当前会话、工作区或所有将来调用的特定工具。
概要
Visual Studio Code中的聊天视图用于管理你和 AI 对程序员之间的聊天对话。 聊天视图界面包括三个部分:顶部附近的工具栏、中心的显示区域以及底部的输入和控制菜单。 “聊天”视图提供三个内置智能体 — 智能体、计划和询问。 使用“代理目标”下拉列表选择每个代理运行的位置:本地(在编辑器中交互)、GitHub Copilot CLI(计算机背景)、云(GitHub)或第三方(人类/OpenAI)。 使用权限选择器来控制代理的自主性:默认审批、跳过审批或自动驾驶仪(预览版)。 可以通过在提示中指定上下文、使用聊天变量或使用 “添加上下文 ”按钮,将上下文添加到聊天会话。 Ask 代理经过优化,可询问有关代码项目、编码主题和常规技术概念的问题。 计划代理针对复杂任务创建结构化的分步实施计划进行优化。 使用代理可以指定高级任务,让 AI 自主评估请求、规划所需的工作,并将更改应用到代码库。