索引引擎是 Windsurf 的代码库感知服务,为以下功能提供支持:

与常规的上下文感知自动补全和聊天相比,索引引擎能够从整个代码库中检索上下文,而不仅仅是您最近交互过的文件。这显著提高了自动补全和聊天响应的质量。

本地索引默认对所有插件用户启用,对 Windsurf 用户始终启用。

工作原理

索引引擎的部分工作原理是为您的代码库生成捕获其底层含义的嵌入。这些嵌入可以使用自然语言和相关的代码片段进行查询。

Windsurf 索引确实会将代码片段发送到远程服务器以生成嵌入。但是,代码或嵌入都不会远程存储——您的所有数据都存储在您自己的设备上。

如何切换索引引擎

要在 VS Code 中切换索引引擎,请转到您的“设置 (UI)”页面,然后搜索“Windsurf Search”。您应该会看到启用搜索并设置最大工作区大小的选项。

然后重启您的 IDE,更改就会生效。

您可以通过检查“聊天”面板中的“上下文”窗格来查看您的工作区是否已索引。如果您的工作区旁边有一个绿点,则表示已索引且可搜索。

WindsurfIgnore

默认情况下,Windsurf 索引将忽略

  • gitignore 中指定的路径
  • node_modules 中的文件
  • 隐藏的路径名(以“.”开头)

忽略文件后,将不会对其进行索引,也不会计入索引最大工作区大小的文件计数。

如果您想进一步配置 Windsurf 索引忽略的文件,可以在仓库根目录下添加一个 .codeiumignore 文件,其语法与 .gitignore 相同。

系统要求

首次启用时,Windsurf 在索引工作区时会占用一部分 CPU 资源。根据您的工作区大小,这应该需要 5-10 分钟,并且每个工作区只需进行一次。CPU 使用率会自动恢复正常。Windsurf 索引还需要 RAM(对于 5000 个文件的工作区大约需要 300MB)。

“最大工作区大小 (文件计数)”设置决定了 Windsurf 索引尝试索引特定工作区/模块的最大工作区大小。如果您的工作区似乎没有被索引,请尝试调高此数字。对于拥有约 10GB RAM 的用户,我们建议将其设置为不超过 10,000 个文件。