概述

Cursor 提供了两种不同的忽略文件来控制文件的处理方式:

  • .cursorignore:尽最大努力从 AI 功能和索引中排除文件
  • .cursorindexingignore:仅控制为搜索和上下文编制索引的文件(与旧的.cursorignore)

截至 0.46,.cursorignore尝试从 AI 访问和索引中排除文件(类似于以前未发布的.cursorban).对于像旧的.cursorignore.cursorindexingignore.

.cursorignore

.cursorignore是尽力而为的,这意味着我们不保证其中的文件会被阻止发送。在某些情况下,我们可能存在允许发送被忽略的文件的错误。如果您发现此类错误,请告诉我们,我们将尽最大努力修复!

.cursorignorefile 会尽最大努力尝试从 AI 功能和索引中排除文件。这适用于:

  • 尝试从 AI 访问和索引中排除敏感文件
  • 排除包含 secret 的配置文件
  • 限制对专有代码的访问

中列出的文件.cursorignore将以最大努力的方式从 Cursor 的 AI 功能中排除:

  • 不包含在 Tab 键和聊天请求中
  • 未包含在 AI 功能的上下文中
  • 未为搜索或上下文功能编制索引
  • 无法通过 @ 符号或其他上下文工具使用

.cursorindexingignore

.cursorindexingignorefiles 会自动从.gitignore文件

.cursorindexingignoreFile only 控制为搜索和上下文功能索引的文件。这提供了与旧.cursorignore.当您需要时,请使用此文件:

  • 从索引中排除生成的大型文件
  • 跳过二进制文件的索引
  • 控制代码库的哪些部分是可搜索的
  • 优化索引性能

重要:文件.cursorindexingignore仍然可以作为上下文手动包含或由 AI 功能访问 - 它们只是不会自动索引或包含在搜索结果中。

文件格式

这两个文件都使用与.gitignore.以下是一些示例:

基本模式

# Ignore all files in the `dist` directory
dist/

# Ignore all `.log` files
*.log

# Ignore specific file `config.json`
config.json

高级模式

仅包含*.py文件中的app目录:

# ignore everything
*
# do not ignore app
!app/
# do not ignore directories inside app
!app/*/
!app/**/*/
# don't ignore python files
!*.py

故障 排除

ignore file 语法如下.gitignore完全。如果您遇到问题:

  1. 在搜索查询中将 “cursorignore” 替换为 “gitignore”
  2. 检查 Stack Overflow 是否有类似的模式
  3. 测试模式git check-ignore -v [file]了解匹配

常见问题:

  • 模式相对于忽略文件位置进行匹配
  • 后面的模式会覆盖前面的模式
  • 目录模式需要一个尾部斜杠
  • 否定模式 (!) 必须否定上一个模式