Codebase Indexing 代码库索引 ¶
1. 索引您的代码库 ¶
为了获得更准确的代码库解答,您可以对代码库进行索引。在后台,Cursor会为代码库中的每个文件计算嵌入向量(embeddings),并利用这些向量提高代码库解答的准确性。
- 当您打开一个项目时,每个Cursor实例都会为该工作区初始化索引。
- 初始索引设置完成后,Cursor会自动索引工作区中新增的文件,以保持代码库上下文的最新状态。
- 您可以在
Cursor Settings(Cursor设置)>Features(功能)>Codebase Indexing(代码库索引)中查看代码库索引的状态。
2. 高级设置 ¶
默认情况下,Cursor会索引代码库中的所有文件。您也可以展开Show Settings(显示设置)部分,访问更多高级选项:
- 决定是否为新仓库启用自动索引。
- 配置Cursor在索引仓库时应忽略的文件。
- Cursor使用与VS Code相同的包来处理文件忽略,这意味着它会遵守所有
.gitignore文件,包括子目录中的文件。 - 您还可以创建
.cursorignore文件,用于用户特定的忽略模式,建议将.cursorignore添加到全局.gitignore中,以避免将其提交到仓库。 - 如果您的项目中包含AI无需读取的大型内容文件,忽略这些文件可以提高解答的准确性。
3. 处理大型单体仓库(Monorepos) ¶
当处理包含数十万文件的大型单体仓库时,合理选择索引内容非常重要:
- 使用
.cursorignore文件,让每个开发者配置他们在单体仓库中工作的文件夹和路径。 - 将
.cursorignore添加到全局.gitignore中。
通过这种方式,每个开发者可以针对自己的工作区域优化索引设置。
4. 处理多根工作区(Multi-Root Workspaces) ¶
Cursor支持多根工作区,允许您同时处理多个代码库。创建多根工作区时:
- 添加到工作区中的所有代码库都会被自动索引。
- 每个代码库的上下文都可供Cursor使用。
- 所有添加的文件夹都支持
.cursor/rules。 - 非常适合在同一工作区中处理位于不同文件夹的相关项目。
此功能特别适用于需要在多个项目间工作的场景,确保您的所有代码上下文都可供Cursor随时使用。