索引引擎 是 Windsurf 的代码库感知服务,支持: 与常规的上下文感知型 Autocomplete 和 Chat 相比,索引引擎能够从整个代码库检索上下文,而不仅限于你最近交互的文件。这将显著提升自动补全和聊天回复的质量。
对于所有插件用户,本地索引默认开启;对于 Windsurf 用户则始终开启。

工作原理

Indexing Engine 通过为你的代码库生成用于表示语义的向量嵌入(embeddings)来工作,从而捕捉其底层含义。这些 embeddings 可以用自然语言或相关代码片段进行查询。 Windsurf Indexing 会将部分代码片段发送到远程服务器以生成 embeddings。但不会在远端存储任何代码或 embeddings——你的所有数据都保存在你的本地设备上。

如何切换 Indexing Engine

要在 VS Code 中切换 Indexing Engine,打开“Settings (UI)”页面,搜索“Windsurf Search”。你会看到启用搜索的选项,并可设置“Max Workspace Size”。随后重启 IDE,变更即可生效。
你可以在“Chat”面板的“Context”栏查看工作区是否已建立索引。如果工作区名称旁显示绿色圆点,表示已建立索引且可搜索。

WindsurfIgnore

默认情况下,Windsurf 索引会忽略:
  • gitignore 中指定的路径
  • node_modules 目录中的文件
  • 隐藏路径(以 ”.” 开头)
当文件被忽略时,它不会被索引,也不会计入“索引的工作区最大大小”的文件数量。 如果你想进一步配置 Windsurf 索引要忽略的文件,可以在仓库根目录添加一个 .codeiumignore 文件,其语法与 .gitignore 相同。

全局 .codeiumignore

对于管理多个代码库的 Enterprise 客户,您可以在 ~/.codeium/ 文件夹中放置一个全局 .codeiumignore 文件,从而在所有代码库中强制执行忽略规则。此全局配置将应用于您系统上的所有 Windsurf 工作区。 全局 .codeiumignore 文件采用与 .gitignore 相同的语法,并与各代码库的 .codeiumignore 文件叠加生效。

系统要求

首次启用时,Windsurf 会在为工作区建立索引的过程中占用少量 CPU。根据工作区大小,这通常需要 5–10 分钟,每个工作区只需进行一次。CPU 使用率会自动恢复正常。Windsurf 索引还需要占用内存(约 300MB,针对包含 5000 个文件的工作区)。 “Max Workspace Size (File Count)” 设置决定了 Windsurf 索引会尝试索引的最大工作区/模块大小。如果你的工作区似乎未被索引,请尝试将此数值调高。对于内存约为 10GB 的用户,我们建议将其设置为不超过 10,000 个文件。