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

管理聊天会话

使用Visual Studio Code中的聊天功能进行基于对话的AI互动。一个聊天会话包括你和AI之间的提示和响应序列,以及任何与你的代码或文件相关的上下文。本文描述了如何创建和管理聊天会话、导出聊天会话以及如何查看聊天会话历史记录。

什么是聊天会话?

一次聊天会话是一次与AI的单独对话,包括所有的提示、响应和上下文。每个会话都是独立的,因此一个会话的上下文不会延续到另一个会话。

关于聊天会话需要了解的关键事项:

  • 上下文Windows:在聊天时,会话会累积上下文。创建新的会话会清除历史记录并开始一个新的上下文Windows。您可以在聊天输入框中监控上下文Windows的使用情况
  • 检查点:在任何时候,您可以回滚到以前的状态或编辑以前的提示以改变方向。了解更多关于检查点的信息。
  • 会话类型:会话可以本地运行、后台运行或在云端运行。了解更多关于Agent的信息。
  • 多个会话:无论会话类型如何,您都可以并行运行多个会话,每个会话都专注于不同的任务。通过代理会话视图,您可以监控并切换会话。了解更多关于管理代理会话的信息。
小贴士

当您想更换话题时,开始一个新的聊天会话,以帮助 AI 提供更相关的回复。

开始新的聊天会话

您可以根据自己的工作偏好以不同的视图打开聊天会话。任何时候,您可以并行运行多个会话,每个会话专注于不同的任务。

要开始一个新的聊天会话,请在聊天视图中使用新聊天 (+)按钮,或者使用键盘快捷键⌘N(Windows, Linux Ctrl+N

聊天视图中“新聊天”按钮的截图。

选择在哪里打开会话:

  • 侧边栏 (默认): 选择 新聊天 (+) > 新聊天, 或者运行 聊天: 新聊天 命令。最适合在代码旁边保持聊天可见。

    在 VS Code 的聊天视图中打开新聊天会话的截图。

  • 编辑标签:选择新建聊天 (+) > 新建聊天编辑器,或者运行聊天:新建聊天编辑器命令。最适合为聊天提供更多空间或并排比较会话。

    在 VS Code 的编辑器标签页中打开新聊天会话的截图。

  • 单独Windows:选择 新聊天 (+) > 新聊天Windows,或运行 聊天:新聊天Windows 命令。适用于多显示器设置。

    在 VS Code 中打开一个新聊天会话的截图。

VS Code 还支持不同类型的会话(本地、后台、云端和第三方),这些会话确定 AI 运行的位置。了解更多关于代理类型和会话管理的信息。

将聊天会话移至不同的视图

您可以随时将现有的聊天会话在视图之间移动。完整的对话历史记录和上下文会保持不变。

选择输入:... 在聊天视图、编辑器标签或聊天Windows中选择菜单,并选择一个 将聊天移入... 选项。

或者,从命令面板中选择以下任何命令:

  • 聊天:将聊天移入编辑区域
  • 聊天:将聊天移入新Windows
  • 聊天:将聊天移至侧边栏

会话历史记录

聊天视图显示了您最近和活跃的聊天会话,无论它们在何处运行。当您从列表中选择一个会话时,您可以查看该会话的完整对话历史记录和上下文。在该会话中发送新的提示以继续对话。

您可以同时拥有多个活动会话,并在它们之间切换以比较不同的对话或并行处理多个任务。

在 VS Code 中显示代码更改和聊天互动的智能体会话截图。

会话列表仅限于您当前的工作区。如果您没有打开工作区,列表将显示所有工作区中的会话。

了解更多关于查看和管理会话的信息。

VS Code 欢迎页面

VS Code 欢迎页面可以作为您与聊天会话工作的启动体验。它提供快速访问最近的聊天会话、嵌入式聊天控件以开始新任务以及常见任务的快速操作。

VS Code欢迎页面的截图,显示了最近的聊天会话和嵌入式聊天。

要将 VS Code 欢迎页面配置为您的启动体验,请设置

工作台.启动编辑器
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
代理会话欢迎页面输入:.

在请求运行时发送消息

注意

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

您不需要等待响应完成即可发送下一条消息。当请求进行中时,发送按钮会变成一个下拉菜单,提供三种处理新消息的方式。

发送按钮下拉菜单的截图,显示了排队、引导或停止并发送新消息的选项。

  • 添加到队列:您的消息将在当前响应完成后等待并自动发送。当前响应将不间断完成。
  • Steer with Message:信号当前请求在完成当前工具执行后让步。当前响应停止,并立即处理您的新消息。当代理方向错误时,使用此功能将其重定向。
  • 停止并发送:完全取消当前请求并立即发送您的新消息。

发送按钮的默认操作可以配置。

chat.requestQueuing.defaultAction
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置它为指引(默认)或队列输入:.

重新排序待处理消息

当您有多个待处理的消息(排队或引导)时,您可以拖动它们以更改它们的处理顺序。当有多个相同类型的消息待处理时,悬停时会出现拖动手柄。

聊天输入框中待处理消息的截图,带有拖动手柄以重新排序。

在聊天会话中导航提示

使用以下键盘快捷键在聊天会话中导航提示:

  • ⌥⌘↑ (Windows, Linux Ctrl+Alt+Up): 转到聊天会话中的上一个提示。
  • ⌥⌘↓ (Windows, Linux Ctrl+Alt+Down): 转到聊天会话中的下一个提示。
  • ⌥⌘PageUp (Windows, Linux Ctrl+Alt+PageUp): 转到聊天会话中的上一个代码块。
  • ⌥⌘PageDown (Windows, Linux Ctrl+Alt+PageDown):跳转到聊天会话中的下一个代码块。

保存和导出聊天记录

您可以保存聊天记录以保存重要的对话或稍后重新使用它们来执行类似的任务。

将聊天会话导出为JSON文件

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

导出聊天记录:

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

  2. 运行 聊天:导出聊天... 命令从命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。

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

或者,您可以右键单击消息并选择复制来将单独的提示或响应复制到剪贴板。要以Markdown格式复制整个聊天记录,请右键单击聊天视图并选择复制全部

将聊天会话保存为可重复使用的提示

您可以将聊天会话保存为可重复使用的提示,以用于类似任务。

将聊天会话保存为可重复使用的提示:

  1. 打开您想要保存的聊天会话的聊天视图。

  2. 类型/保存提示在聊天输入框中输入并按输入输入:.

    该命令创建一个提示.md 文件,是一个可重复使用的 提示文件,将您当前的聊天对话框 generalizes 成一个带有占位符的模板。您可以使用提示文件在不同的项目或代码库中运行相同类型的任务。

  3. 根据需要审阅和编辑生成的提示文件,然后将其保存到您的工作区。

管理聊天会话的技巧

请考虑以下提示,以帮助您在聊天会话中高效工作:

  • 开始一个新的会话来讨论不同的主题:开始一个新的聊天会话,以避免从不相关的对话中 carry over 上下文。这将帮助你获得更相关的回复。

  • 使用编辑器标签进行并排比较:打开多个聊天会话作为编辑器标签,以并排比较不同的方法或解决方案。

  • 在多显示器设置中使用单独的Windows:在辅助显示器上打开聊天Windows,以便在主Windows中编写代码时保持聊天Windows可见。

  • 使用远程代理的后台任务:在你继续在 VS Code 中工作的同时,使用远程编码代理在后台执行 AI 任务。

  • 交互式代理会话:使用本地代理会话来执行需要实时输入和反馈的交互式任务。