代码库索引

了解如何在 Cursor 中为你的代码库建立索引,以获得更准确的 AI 辅助和搜索结果。

为你的代码库建立索引

为了获得更好、更准确的代码库答案,你可以为代码库建立索引。Cursor 会在后台为代码库中的每个文件计算嵌入(embeddings),并利用这些嵌入提升代码库相关回答的准确性。

当你打开一个项目时,每个 Cursor 实例都会为该工作区初始化索引。初始索引设置完成后,Cursor 会自动为你工作区中新添加的文件建立索引,确保代码库上下文始终保持最新。

你可以在 Cursor Settings > Features > Codebase Indexing 中查看索引状态。

代码库索引

高级设置

默认情况下,Cursor 会索引代码库中的所有文件。

你也可以展开 Show Settings 部分,访问更多高级选项。在这里,你可以选择是否为新仓库启用自动索引,并配置在仓库索引时 Cursor 需要忽略的文件。

Cursor 使用与 VS Code 相同的包来处理文件忽略,这意味着它会遵循所有 .gitignore 文件(包括子目录中的)。你还可以创建 .cursorignore 文件来设置用户特定的忽略规则,建议将其添加到全局 .gitignore,避免被提交到仓库。

如果你的项目中有 AI 不需要读取的大型内容文件,忽略这些文件可以提升答案的准确性。

大型 monorepo 的处理

在包含数十万文件的大型 monorepo 中,合理选择需要索引的内容非常重要。

  • 使用 .cursorignore 让每位开发者配置自己在 monorepo 中关注的文件夹和路径
  • .cursorignore 添加到你的全局 .gitignore

这样,每位开发者都能针对自己的工作区域优化索引。

多根工作区(Multi-Root Workspaces)

Cursor 支持多根工作区,让你可以同时处理多个代码库。当你创建多根工作区时:

  • 添加到工作区的所有代码库都会被自动索引
  • 每个代码库的上下文都可被 Cursor 使用
  • 所有添加的文件夹都支持 .cursor/rules
  • 非常适合处理分布在不同文件夹的相关项目

这个功能特别适合需要在同一工作区跨多个项目协作的场景,确保所有代码上下文都能被 Cursor 及时获取。

常见问题(FAQ)