聊天及其相关功能仅在以下环境中受支持:VS Code、JetBrains IDE、Eclipse、X-Code 和 Visual Studio。

Windsurf 聊天功能使您能够在编辑器内与代码库对话。聊天功能由我们的上下文感知引擎提供支持。它将内置的上下文检索与可选的用户指导相结合,以提供准确且有依据的答案。

在 VS Code 中,默认情况下可以在左侧边栏找到 Windsurf 聊天功能。如果您希望将其移动到其他位置,可以点击并拖动 Windsurf 图标,将其重新放置到您想要的位置。

在 Mac 上可以使用 ⌘+⇧+A,在 Windows/Linux 上可以使用 Ctrl+⇧+A 来打开聊天面板并在其与编辑器之间切换焦点。您还可以通过点击聊天面板顶部的页面图标,将聊天窗口完全从 IDE 中弹出。

@-提及

@-提及是一种引入上下文的确定性方法,并保证成为用于回应聊天的上下文的一部分。

在您发送的任何聊天消息中,您都可以通过在单词前加上 @,明确地引用聊天输入中的上下文项。

可 @-提及 的上下文项

  • 函数与类
    • 仅限于本地索引的函数和类
    • 此外,仅适用于我们已构建 AST 解析器的语言(Python、TypeScript、JavaScript、Go、Java、C、C++、PHP、Ruby、C#、Perl、Kotlin、Dart、Bash、COBOL 等)
  • 代码库中的目录和文件
  • 远程仓库
  • IDE 内终端的内容(仅限 VS Code)。

您还可以尝试 @diff,它允许您就仓库当前的 git diff 状态进行聊天。@diff 功能目前处于测试阶段。

如果您想将部分代码拉入聊天且无法使用 @-提及 功能,您可以:1. 选中代码 -> 2. 右键点击 -> 3. 选择“Windsurf: 解释选定的代码块”

持久上下文

通过点击聊天面板中的 高级 选项卡,您可以指示聊天模型在整个对话以及不同对话中始终使用特定的上下文。

聊天会显示它正在考虑的上下文。

在此选项卡中,您可以看到

  • 自定义聊天指令:一条简短的提示指南,例如“用 Kotlin 回答,并假设我对它不太熟悉”,以引导模型生成特定类型的回复。
  • 固定上下文:您代码库中的文件、目录和代码片段等项目,您希望模型明确地将其考虑在内。另请参阅上下文固定
  • 活动文档:您当前活动文件的标记,它会获得特别关注。
  • 本地索引:Windsurf 上下文引擎已索引的本地仓库列表。

斜杠命令

您可以在消息前加上 /explain,要求模型解释您选择的内容。目前,/explain 是唯一支持的斜杠命令。请告诉我们是否有其他您希望用斜杠命令封装的常见工作流程。

复制并插入

有时,聊天回复会包含代码块。您可以通过点击代码块顶部的相应按钮,将代码块复制到剪贴板或直接插入到编辑器中您的光标位置。

如果您希望 AI 根据指令直接在编辑器中执行更改,请考虑使用Windsurf 命令

行内引用

聊天功能感知代码上下文项,其回复通常包含链接到文件中代码片段的引用。

带上下文重新生成

默认情况下,Windsurf 会判断给定问题是通用问题还是需要代码库上下文。

您可以通过使用 ⌘⏎ 提交问题,强制模型使用代码库上下文。对于已收到回复的问题,您可以通过点击闪光图标来带上下文重新运行。

极客统计信息

每条聊天消息的背后都发生了很多事情。您可以点击统计图标查看这些统计信息。

聊天记录

要回顾过去的对话,请点击聊天面板顶部的历史记录图标。您可以点击 + 创建新对话,并点击 按钮导出对话。这仅适用于 Windsurf 插件。

设置

点击齿轮图标进入 设置 选项卡。在这里,您可以查看适用于您账户的设置。例如,您可以更新主题偏好设置(浅色或深色)、更改自动补全速度、查看当前计划以及更改字体大小。设置面板还提供了下载诊断信息的选项,诊断信息是调试日志,如果您遇到问题,这些日志对 Windsurf 团队进行调试非常有用。

在 Windsurf 聊天界面,点击右上角的齿轮图标

遥测

如果未启用遥测功能,您可能会遇到聊天相关的问题。

要启用遥测功能,请打开您的 VS Code 设置并导航至 用户 > 应用 > 遥测。在下拉菜单中,选择“全部”。