在 VS Code 中使用聊天会话

在 Visual Studio Code 中使用聊天进行基于对话的 AI 交互。聊天会话由您与 AI 之间的提示词和响应序列组成,以及来自您的代码或文件的任何相关上下文。本文介绍如何创建和管理聊天会话、使用会话列表以及组织您的会话。这些功能既适用于聊天视图,也适用于智能体窗口

开始新的聊天会话

当您启动一个新的聊天会话时,您就开始了与 AI 的新对话。每个会话都有其自己的上下文窗口,并且可以使用不同的智能体类型运行。您可以并行运行多个会话,每个会话专注于不同的任务或主题。使用会话列表来监视并在不同的会话之间进行切换。

提示

当您想要更改主题以帮助 AI 提供更多相关响应时,请启动新的聊天会话。

根据您的工作偏好或想要完成的任务,您可以在 VS Code 中的不同聊天体验之间进行选择。每种体验都针对不同的工作流进行了优化,但它们共享相同的底层会话,使您可以随时在它们之间进行切换。

智能体窗口是一个专用窗口,用于在单个位置跨多个项目编排智能体。聊天是您的主要界面,您可以在其中向智能体分配高级任务。智能体窗口针对智能体优先的工作流进行了优化。

Screenshot of the Agents window showing the sessions list, workspace picker, and chat input.

要在智能体窗口中启动新的聊天会话

  1. 通过选择 VS Code 标题栏中的在智能体中打开按钮来打开智能体窗口。

  2. 在边栏中选择新建以创建新会话。

  3. 为会话选择工作区或存储库,因为智能体窗口可以面向您的任何项目。

  4. 从下拉菜单中选择智能体类型,以指示智能体会话运行的位置及其运行方式。

    您可以从本地、Copilot、云或第三方中进行选择。了解有关智能体类型的更多信息。

  5. (可选)为会话选择其他配置选项

    • 智能体:确定 AI 的角色或个性,例如 Agent、Plan 或 Ask。了解有关选择智能体的更多信息。

    • 权限级别:控制智能体在工具批准方面拥有的自主权。了解有关权限级别的更多信息。

    • 语言模型:确定驱动对话的 AI 模型。了解有关VS Code 中的语言模型的更多信息。

    在智能体窗口中,当您创建另一个新会话时,选择器会记住您上次选择的智能体权限级别值,并将它们用作默认值。

  6. 键入您的提示词并按 Enter 提交它。智能体的响应将显示在聊天区域中,智能体可能会采取诸如编辑文件、运行命令或提出后续问题等操作。

会话列表

会话列表是您管理所有聊天会话的中央枢纽,无论您是在哪里启动它们的还是它们在哪里运行。会话列表会显示您的会话及其状态、类型和文件更改等信息。

Screenshot of the sessions list showing multiple sessions with different statuses, types, and file change stats.

将鼠标悬停在会话上以查看用于固定或归档它的操作。右键单击列表中的会话以查看其他操作,例如删除或更改会话状态。某些操作特定于会话的智能体类型和状态。例如,检出云智能体会话的拉取请求。

使用置顶操作使重要的会话易于在列表顶部访问。无论其活动状态或状态如何,置顶的会话都保留在列表顶部,因此您可以快速找到并返回它们。

智能体窗口中,会话列表位于左侧边栏中。它显示来自您所有工作区的会话,因此您可以在单个位置监视各个项目的工作。每个会话项都会显现关键信息,例如会话名称、工作区、智能体类型和文件更改统计信息。

Screenshot of the sessions list in the Agents window, showing multiple sessions with different agent types and file change stats.

默认情况下,列表经过滤仅显示活动会话。您可以更改筛选器以显示不同状态的会话,例如已完成或已归档。

默认情况下,会话按工作区进行分组,您可以切换分组以改为按时间范围组织。在智能体窗口中,您还可以创建自定义组以将相关会话组合在一起。当您想要缩减会话列表时,可以折叠组标题。

要在智能体窗口中组织会话列表

  1. 从会话列表控件中创建一个自定义组。

  2. 将一个或多个会话拖到该组上。插入线会显示会话落入的位置。

  3. 将鼠标悬停在组标题上以在该组中启动新会话,或将该组中的所有会话标记为完成。

您还可以向上或向下拖动会话以重新排序它们,拖动组和工作区标题以重新排列各个部分,或者将会话拖放到已置顶部分以将其置顶。选择多个会话以将它们一起移动。

您可以通过选择智能体窗口左上角的切换边栏按钮或使用 ⌘B(Windows、Linux Ctrl+B 键盘快捷键来隐藏左侧边栏。

归档会话

为了保持会话列表井然有序,请在会话完成或不再需要它们时将其归档或标记为完成。归档会话不会删除它。您可以随时取消归档会话以将其恢复到活动会话列表中。

当您归档(或标记为完成)一个会话时,其状态会改变,从而使其移出活动会话列表。如果该会话使用工作树(例如 Copilot 会话),只要其工作树是干净的,该工作树就会从文件系统中移除。分支和任何提交都会得以保留,因此恢复会话会从该分支重新创建工作树,并且不会丢失任何工作。

要归档会话,请将鼠标悬停在会话列表中的会话上,然后选择归档(聊天视图)或标记为完成(智能体窗口)选项。

Screenshot of archiving an agent session in the sessions view.

要查看您已归档的会话,请使用会话列表中的筛选选项并选择已归档(聊天视图)或已完成(智能体窗口)筛选器。

删除会话

要永久删除会话,请右键单击会话列表中的会话并选择删除。删除会话会将其永久移除且无法撤消。对于 Copilot 会话,删除会话还会移除为该会话创建的所有相关工作树。

如果多个 Copilot 会话共享同一个工作树(例如在您派生会话之后),只要另一个会话仍在使用它,删除其中一个会话就不会移除共享的工作树。只有在删除或归档最后一个链接的会话后,工作树才会遭到移除。

注意

删除会话是不可逆的。如果您只是想隐藏会话,请考虑改为将其归档

派生聊天会话

派生聊天会话会创建对话的分支,该分支继承原始会话的对话历史记录。在单聊会话以及不使用智能体宿主的会话中,派生会话会作为新的独立会话打开。派生会话与原始会话完全分开,因此在一个会话中所做的更改不会影响另一个会话。新会话标题带有“Forked:”前缀,以帮助您识别它。

对于智能体窗口中的多聊 Copilot 会话,派生会话作为同一会话中的对等聊天打开。对等聊天会获得一个自动生成的标题,并独立于同级聊天运行。

对于使用工作树隔离的 Copilot 会话,派生会话将继续使用与原始会话相同的工作树。

当您想要探索替代方法、提出旁支问题或在不丢失原始上下文的情况下将漫长的对话分支到不同方向时,派生非常有用。

有两种方法可以派生聊天会话

  • 派生整个会话:在聊天输入框中键入 /fork 并按 Enter。派生会打开并复制从当前会话复制的完整对话历史记录。

  • 从检查点派生:将鼠标悬停在对话中的聊天请求上,然后选择派生对话按钮。派生仅包含直到并包括该检查点的请求。

    Screenshot of the Fork Conversation button in the checkpoint toolbar in the Chat view.

提示

派生会话会继承原始会话的对话历史记录,从而保留提示词缓存并降低下一次请求的成本。使用缓存资源管理器比较各个会话的缓存命中率。

从智能体宿主会话中编排会话

在智能体宿主会话(例如 Copilot、Claude 和 Codex)中,智能体可以使用内置的会话管理工具来协调跨多个会话和聊天的工作。

借助这些工具,智能体可以

  • 列出您的会话并检查元数据,如状态、工作区和文件更改。
  • 为子任务创建新会话,或在现有会话中创建新聊天。
  • 在继续工作之前,从另一个会话读取最近的对话上下文。
  • 向另一个会话或聊天发送消息以启动或引导后续任务。

当工具创建会话或以会话为目标时,VS Code 会在聊天中显示一个打开会话胶囊按钮,以便您可以直接跳转到它。

为了保持此工作流的安全性和可预测性

  • 向另一个会话发送消息始终需要您的确认。
  • 智能体无法向其当前运行所在的同一聊天发送消息。
  • 突发发送受到限制,以避免无限扩展的分发。
  • 除非明确请求,否则已归档的会话将从列表中排除。

保存和导出聊天会话

您可以保存聊天会话以保留重要的对话,或稍后将其用于类似的重复任务。

将聊天会话导出为 JSON 文件

您可以导出聊天会话以供日后参考或与他人分享。导出聊天会话会创建一个包含该会话中所有提示词和响应的 JSON 文件。

要导出聊天会话

  1. 在聊天视图中打开要导出的聊天会话。

  2. 从命令面板运行 Chat: Export Chat... 命令(⇧⌘P(Windows、Linux Ctrl+Shift+P)。

  3. 选择保存 JSON 文件的位置。

将聊天消息复制为 Markdown

聊天视图支持将聊天消息作为 Markdown 复制到剪贴板的不同选项,这些选项可通过右键单击消息或聊天背景时的上下文菜单获得。

  • 复制:将单个提示词或响应复制到剪贴板 - Markdown 包含响应文本、思考步骤和工具调用。

  • 复制全部:以 Markdown 格式复制整个聊天会话,包括所有提示词、响应、思考步骤和工具调用。

  • 复制最终响应:仅复制智能体响应的最后一部分 Markdown,即最后一个工具调用之后的部分。这对于共享或重用最终输出而无需中间步骤非常有用。

会话状态指示器(实验性)

会话状态指示器提供从标题栏中的命令中心直接快速访问您的会话的功能。该指示器显示未读消息和进行中会话的可视化徽章,因此您无需切换视图即可随时了解 AI 活动。

Screenshot showing the session status indicator in the command center with unread and in-progress badges.

指示器显示

  • 未读会话徽章:显示包含新消息的聊天会话数。选择此徽章可筛选会话列表以仅显示未读会话。
  • 进行中会话徽章:显示带有运行中智能体的会话数。选择此徽章可筛选会话列表以仅显示进行中的会话。
  • 星光图标:提供对聊天和会话管理选项的快速访问。

您可以使用 chat.agentsControl.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 设置配置状态指示器的可见性。

在 VS Code 欢迎页面上查看会话

VS Code 欢迎页面可以充当您处理聊天会话的启动体验。它提供对您最近的聊天会话的快速访问、用于启动新任务的嵌入式聊天控件以及针对常见任务的快速操作。

要将 VS Code 欢迎页面配置为您的启动体验,请将 workbench.startupEditor 在 VS Code 中打开 在 VS Code Insiders 中打开 设置为 agentSessionsWelcomePage

English 한국어 中文(简体) 中文(繁體)
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.