管理聊天会话

在Visual Studio Code中使用聊天,进行基于对话的AI交互。聊天会话包括你和AI之间的提示和回复序列,以及你代码或文件中相关的上下文。本文介绍了如何创建和管理聊天会话、导出聊天会话,以及如何查看聊天会话历史。

什么是聊天会话?

聊天会话是与AI进行的单一对话,包括所有提示、回复和上下文。每个会话都是独立的,因此一个会话的上下文不会传递到另一个会话。

关于聊天环节需要了解的关键事项:

  • 上下文窗口:随着聊天,会话会积累上下文。创建新会话会清除历史并启动一个全新的上下文窗口。你可以在聊天输入框里监控上下文窗口的使用情况。
  • 检查点:随时可以回滚到之前的状态或编辑之前的提示来改变方向。了解更多关于检查点的信息。
  • 会话类型:会话可以本地运行、后台或云端运行。了解更多关于代理人的信息
  • 多会话:无论会话类型如何,你都可以同时运行多个会话,每个会话专注于不同的任务。通过代理会话视图,你可以监控和切换会话。了解更多关于管理代理人课程的信息。
提示

当你想更换话题以帮助AI提供更相关的回答时,可以重新开启聊天会话。

开始一个新的聊天会话

你可以根据自己的工作方式,在不同的视图中开启聊天会话。你随时可以并行运行多个会话,每个会议专注于不同的任务。

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

聊天视图中新建聊天按钮的截图。

选择开场地点:

  • 侧边栏(默认):选择新聊天(+)>新聊天,或运行“聊天:新聊天”命令。这样可以让聊天内容和代码一起显示。

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

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

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

  • 独立窗口:选择新聊天(+)>新聊天窗口,或运行“聊天:新聊天窗口”命令。最适合多显示器设置。

    在VS Code中单独窗口开启新聊天会话的截图。

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

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

你可以随时在不同视图之间移动现有的聊天会话。完整的对话历史和背景都被保留下来。

选择...在聊天视图、编辑器标签或聊天窗口中选择“移动聊天”选项之一。

或者,从命令调色板中选择以下任一命令:

  • 聊天:将聊天移到编辑区
  • 聊天:将聊天移到新窗口
  • 聊天:将聊天移到侧边栏

会议历史

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

你可以同时激活多个会话,并在它们之间切换以比较不同的对话,或者同时处理多项任务。

VS Code 中一次代理会话的截图,显示代码变更和聊天互动。

会话列表的范围是针对你当前的工作区。如果你没有打开工作区,列表会显示你工作区中所有会话。

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

VS Code 欢迎页面

VS Code的欢迎页面可以作为你参与聊天会话的创业体验。它提供快速访问你最近的聊天会话,内置聊天小部件用于启动新任务,以及快速作常见任务。

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

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

workbench.startupEditor
  • 在VS代码中打开
  • 在VS Code Insiders中开放
agentSessions欢迎页面.

请求运行时发送消息

注释

消息引导和排队是实验性功能。

你不必等回复完成后才发送下一封消息。在请求进行中,发送按钮会变成一个下拉菜单,给你三种处理新消息的选项。

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

  • 加入队列:你的消息在当前回复完成后会自动等待并发送。当前的回应未被打断地结束。
  • 带消息引导:在完成当前工具执行后,提示当前请求让路。当前的回复停止,你的新消息立即生效。当代理朝错误方向移动时,用它来重新引导它。
  • 停止并发送:完全取消当前请求,立即发送新消息。

发送按钮的默认作是可配置的。用途

chat.requestQueuing.defaultAction
  • 在VS代码中打开
  • 在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. 类型/savePrompt在聊天输入框中点击进来.

    该命令创建了.prompt.mdFile,这是一个可重复使用的提示文件,可以将你当前的聊天内容泛化成带有占位符的模板。你可以用提示文件在不同项目或代码库中执行同类型的任务。

  3. 根据需要查看并编辑生成的提示文件,然后保存到你的工作区。

管理聊天会话的技巧

请考虑以下建议,帮助你高效地参与聊天会话:

  • 为不同话题开启新会话:开一个新的聊天会话,以避免从无关对话中带走上下文。这有助于你获得更相关的回复。

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

  • 显示器设置时使用独立窗口:在第二个显示器的另一个窗口打开聊天,这样在主窗口写代码时保持可见。

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

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