概述

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

  • .cursorignore: 尽最大努力尝试从 AI 功能和索引中排除文件
  • .cursorindexingignore: 仅控制哪些文件被索引以用于搜索和上下文(与旧的 .cursorignore 相同)

从 0.46 版本开始,.cursorignore 尝试从 AI 访问和索引中排除文件(类似于之前未发布的 .cursorban)。对于像旧的 .cursorignore 那样的仅索引控制,请使用 .cursorindexingignore

.cursorignore

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

.cursorignore 文件尽最大努力尝试从 AI 功能和索引中排除文件。这对于以下情况很有用:

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

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

  • 不包含在标签页和聊天请求中
  • 不包含在 AI 功能的上下文中
  • 不为搜索或上下文功能建立索引
  • 不能通过 @ 符号或其他上下文工具访问

.cursorindexingignore

.cursorindexingignore 文件自动继承来自您的 .gitignore 文件的所有模式

.cursorindexingignore 文件仅控制哪些文件被索引以用于搜索和上下文功能。这提供了与旧的 .cursorignore 相同的索引控制。当您想要执行以下操作时,请使用此文件:

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

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

文件格式

这两个文件都使用与 .gitignore 相同的语法。以下是一些示例

基本模式

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

# Ignore all `.log` files
*.log

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

高级模式

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

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

故障排除

忽略文件语法完全遵循 .gitignore。如果您遇到问题

  1. 在您的搜索查询中将“cursorignore”替换为“gitignore”
  2. Stack Overflow 上查看类似的模式
  3. 使用 git check-ignore -v [file] 测试模式以了解匹配情况

常见陷阱

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

此页对您有帮助吗?