LogoCursor

忽略文件

使用.cursorignore和.cursorindexinggnore控制Cursor的AI功能和索引可以访问哪些文件

概述

Cursor 会读取并索引您的项目代码库,以支持其各项功能。您可以通过在根目录添加 .cursorignore 文件,控制 Cursor 可以访问哪些目录和文件。

Cursor 会尽最大努力阻止对 .cursorignore 文件中列出的文件的访问,包括:

由 Cursor 聊天功能发起的对终端和 MCP 服务器等服务的工具调用,目前无法阻止对 .cursorignore 管控的代码的访问。

全局忽略文件

现在,您可以通过用户级设置定义适用于所有项目的忽略模式。这样可以将嘈杂或敏感的文件(如构建输出或机密文件)排除在提示之外,而无需为每个项目单独配置。

为什么要忽略文件?

配置 Cursor 忽略部分代码库的常见原因有两个:

安全性

虽然您的代码库不会永久存储在 Cursor 服务器或支持其功能的 LLM 上,但出于安全考虑,您可能仍希望限制对某些文件的访问,例如包含 API 密钥、数据库凭证和其他机密的文件。

Cursor 会尽最大努力阻止对被忽略文件的访问,但由于 LLM 行为的不可预测性,我们无法保证这些文件永远不会被暴露。

性能

如果您在单体仓库或超大代码库中工作,其中大部分内容与您正在开发的代码无关,则可以考虑配置 Cursor 忽略这些部分。

通过排除无关部分,Cursor 可以更快地索引大型代码库,并在搜索上下文时更快、更准确地找到文件。

Cursor 专为支持大型代码库而设计,能够熟练评估文件相关性,但当代码库特别大或包含与开发无关的文件时,忽略功能会很有帮助。

配置 .cursorignore

要启用 Cursor 的忽略功能,请在代码库根目录下添加 .cursorignore 文件,并列出要忽略的目录和文件。

.cursorignore 文件使用的模式匹配语法与 .gitignore 文件相同。

分层忽略

默认情况下,Cursor 只会在当前工作区查找 .cursorignore 文件。当您在「Cursor 设置」>「功能」>「编辑器」>「分层 Cursor Ignore」中启用该功能后,Cursor 会沿文件树向上查找所有 .cursorignore 文件,从而支持跨嵌套项目目录的更灵活配置。

基本模式示例

# 忽略特定文件 `config.json`
config.json
 
# 忽略 `dist` 目录及其所有文件
dist/
 
# 忽略所有以 `.log` 结尾的文件
*.log

高级模式示例

# 忽略整个代码库
*
 
# 不忽略 `app` 目录
!app/
 
# 忽略任意目录下的 logs 目录
**/logs

注意事项

  • 忽略空行
  • # 开头的行为注释并被忽略
  • 模式相对于 .cursorignore 文件的位置进行匹配
  • 后续模式会覆盖文件中先前列出的冲突模式

使用 .cursorindexingignore 限制索引

要仅对索引使用 Cursor 的忽略功能,请在代码库根目录下添加 .cursorindexingignore 文件,并列出要从索引中排除的目录和文件。

.cursorindexingignore 中列出的文件不会包含在 Cursor 的索引中,但仍可被 Cursor 的 AI 辅助功能访问,包括当 Cursor 搜索代码库并将其暴露给 LLM 时。

默认忽略的文件

Cursor 还会忽略根目录下 .gitignore 文件和下方默认忽略列表中列出的所有文件。

如果您不希望忽略这些文件,请将其添加到 .cursorignore 文件中,并在文件前加上 ! 前缀。

故障排除

要排查忽略文件的问题,可尝试使用 git check-ignore -v [file] 命令测试模式。

On this page