本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

聊天概览

在Visual Studio Code中聊天可以让你使用自然语言来获得由AI驱动的编码辅助。你可以通过对话界面询问代码相关问题,获得帮助以理解复杂的逻辑,生成新功能,修复错误等等。本文将概述聊天界面,如何配置聊天会话,添加上下文,编写有效的提示以及审查AI生成的更改。

先决条件

在 VS Code 中访问聊天

VS Code 提供多种方式开始 AI 聊天对话,每种都针对不同的工作流程进行了优化。使用 VS Code 标题栏中的 Chat 菜单或相应的键盘快捷键。

VS Code 命令中心中 Copilot 聊天菜单的截图。

表面 快捷方式 最佳用于 了解更多
聊天视图 ⌃⌘I (Windows, Linux Ctrl+Alt+I) 多轮对话,代理工作流程,多文件编辑。也可以作为 编辑标签页或单独Windows使用。 聊天会话
内联聊天 ⌘I (Windows, Linux Ctrl+I) 原地代码编辑和终端命令建议。 内联聊天
快速聊天 ⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L) 快速问题,无需离开当前视图。在编辑器顶部打开一个轻量级聊天面板。 快速聊天
命令行 代码聊天 从 VS Code 外部开始聊天。 CLI 文档

提交您的第一个提示

要了解聊天是如何工作的,请尝试创建一个基本的应用程序:

  1. ⌃⌘I (Windows, Linux Ctrl+Alt+I) 或从 VS Code 标题栏选择 Chat 打开聊天视图。

  2. 从代理选择器中选择一个代理。例如,选择Agent,让聊天自主决定需要执行什么操作并更改您的工作区。了解更多关于内置代理的信息。

  3. 在聊天输入框中输入以下提示,然后按回车提交:

    使用HTML、CSS和JavaScript创建一个基本的计算器应用程序
    

    代理直接对您的工作区进行更改,并且还可能运行终端命令,例如安装依赖项或运行构建脚本。

  4. 在编辑器中,查看建议的更改并选择保留或丢弃它们。

小贴士

要进行完整的操作指南,请按照代理教程进行。

在请求运行时发送消息

注意

消息转向和队列是实验性功能。

您不需要等待响应完成后再发送下一个消息。当请求正在进行时,使用发送按钮上的下拉菜单来选择如何处理新消息:

  • 添加到队列:消息在当前响应完成后自动等待和发送。
  • 带消息的引导:当前请求让步,并且您的新消息将立即处理。
  • 停止并发送:取消当前请求并立即发送您的新消息。

聊天视图的截图,发送按钮下拉菜单已展开,显示了添加到队列、用消息引导或停止并发送的选项。

当你有多个待处理的消息时,可以拖动并重新排序。了解更多关于在请求运行时发送消息的信息。

配置您的聊天会话

当你开始或调整一个聊天会话时,有三个选择会影响AI的响应:使用哪个代理,会话在哪个地方运行,以及由哪个语言模型驱动。

选择在哪里运行

代理会话可以在不同的环境中运行以匹配您的工作流程。在聊天视图中,从会话类型下拉菜单中选择会话类型。

截图显示聊天视图中的会话类型下拉菜单。

会话类型 描述
本地 在你的机器上通过 VS Code 交互运行。最适合需要即时反馈的探索性任务。
背景 在你的机器上通过 CLI 自动运行。适用于你希望在后台运行的定义明确的任务。
在远程基础设施上运行并打开一个拉取请求。最适合团队协作和定义良好的任务。
第三方 使用来自外部提供商(如Anthropic或OpenAI)的代理。

您可以在对话过程中将会话从一种类型转移到另一种类型,并且完整的对话历史记录会保留下来。了解更多关于代理类型转移会话的信息。

选择一个代理

Agents在聊天中可以扮演不同的角色或优化特定任务的人格。从聊天视图的代理下拉菜单中选择一个代理。在会话期间,您可以随时切换代理。

截图显示聊天视图中,代理选择器已展开,显示不同的代理选项。

VS Code 提供了三个内置代理:

  • Agent:自主规划和实施文件变更,运行终端命令,并调用工具。
  • 计划:在编写任何代码之前,制定一个结构化、分步骤的实施计划。当计划看起来正确时,将其交给实施代理。
  • :回答有关编码概念、您的代码库或 VS Code 本身的问题,而不会更改文件。

对于更专业的流程,创建你自己的定制代理,定义特定角色、可用工具和语言模型。

了解更多关于内置代理及其功能的信息。

选择一个语言模型

VS Code 提供不同的语言模型,每个模型都针对不同的任务进行了优化。有些模型是为快速编码任务设计的,而另一些模型则在复杂的推理和规划中表现出色。在聊天输入字段中使用模型下拉菜单选择最适合您需求的模型。

聊天视图中语言模型下拉菜单的截图,显示了可用模型的下拉列表。

您还可以添加其他供应商的模型,并在聊天中使用它们。了解更多关于VS Code 中的语言模型

注意

可用模型的列表可能会根据您的 Copilot 订阅而有所不同,并且可能会随时间变化。有关 可用语言模型的更多信息,请参阅 GitHub Copilot 文档。

为您的提示添加上下文

提供正确的上下文有助于人工智能生成更相关和准确的回复。

  • 隐式上下文:VS Code 会自动包含当前活动的文件、您的当前选择以及文件名作为上下文。当您使用智能体时,智能机会自主决定是否需要额外的上下文。

  • #-提及:输入 #在聊天输入中明确引用文件 (#文件),文件夹,符号,你的代码库#代码库), 终端输出 (# 终端选择), 或像这样的工具#获取#github库输入:.

  • @-提及:输入 @调用特定的聊天参与者,例如@vscode@终端,或@工作区,每个都针对其各自的领域进行了优化。

  • 愿景:附加图像,例如截图或UI模型,作为提示的上下文。

  • 浏览器元素(实验性):从集成浏览器中选择元素以向您的提示添加HTML、CSS和屏幕截图上下文。

了解更多关于管理AI上下文的信息。

审查和管理变更

在AI对您的文件进行更改后,请进行审核并接受或拒绝这些更改。

  • 查看行内差异:打开更改后的文件以查看已应用更改的行内差异。使用编辑器覆盖控件在各个更改之间导航 保留撤销 个别更改。有关更多信息,请参阅 审查AI生成的代码更改

  • 使用检查点:VS Code 可以在聊天交互的关键点自动创建文件的快照,使您可以回滚到以前的状态。有关更多信息,请参见检查点和编辑请求

  • 提交阶段:在源代码控制视图中自动提交任何待处理的编辑。丢弃更改也会丢弃待处理的编辑。

截图显示了带有提议更改的编辑器,突出显示了编辑器覆盖控制中的审查控件。

获得更好的回应

聊天提供了几种方法来提高AI响应的质量和相关性:

  • 编写有效的提示:具体说明你想要什么,引用相关的文件和符号,并使用输入:/ 常见任务的命令。从 提示示例 中获得灵感,或查看完整的 提示工程指南

  • 定制AI:通过添加自定义指令、创建可复用的提示文件或构建用于特定工作流程的自定义代理来调整AI的行为以适应您的项目。例如,创建一个“代码审查员”代理,提供有关代码质量和遵守团队编码标准的反馈。

  • 通过工具扩展:连接MCP服务器或安装扩展以提供工具,使代理能够访问外部服务、数据库或API。

更多信息,请参见在 VS Code 中定制 AI.

排除聊天互动问题

使用聊天调试视图来检查AI请求和响应的详细信息。该视图显示系统提示、用户提示、发送到语言模型的上下文以及每次交互的工具调用。这有助于理解AI为何以某种方式响应或用于排除意外结果的故障。