忽略文件
概述
Cursor(光标编辑器)通过读取和索引项目代码库为其功能提供支持。您可以在根目录添加.cursorignore
文件,控制Cursor可访问的目录和文件。
Cursor将尽力阻止访问.cursorignore
中列出的文件,包括:
全局忽略文件
现在可通过用户级设置定义适用于所有项目的忽略模式。这样无需为每个项目单独配置,即可在提示中排除干扰性或敏感文件(如构建输出文件或密钥文件)。
配置Cursor忽略代码库部分内容的常见原因有两个:
安全性
虽然您的代码库不会永久存储在Cursor服务器或其功能依赖的LLM(大语言模型)上,但出于安全考虑(如包含API密钥、数据库凭证等敏感信息的文件),您可能仍希望限制对某些文件的访问。
Cursor会尽力阻止访问被忽略的文件,但由于LLM行为的不可预测性,我们无法保证这些文件永远不会被暴露。
性能
如果您在单体仓库或超大型代码库中工作,且其中大部分内容与当前开发代码无关,可考虑配置Cursor忽略应用的这些部分。
通过排除代码库中无关部分,Cursor能更快地索引大型代码库,并在搜索上下文时更快速精准地定位文件。
Cursor设计支持大型代码库,擅长评估文件相关性。但在处理特别庞大的代码库或包含与开发无关的文件时,忽略功能仍非常有用。
配置.cursorignore
要实现Cursor的忽略功能,请在代码库根目录创建.cursorignore
文件,并列出需要忽略的目录和文件。
.cursorignore
文件使用与.gitignore
完全相同的模式匹配语法。
层级化忽略
默认情况下,Cursor仅在当前工作区查找.cursorignore
文件。在Cursor设置>功能>编辑器>层级化光标忽略
中启用后,Cursor将沿文件树向上递归查找.cursorignore
文件,实现嵌套项目目录的灵活配置。
基础模式示例
# 忽略特定文件`config.json`
config.json
# 忽略`dist`目录及其内部所有文件
dist/
# 忽略所有`.log`扩展名文件
*.log
高级模式示例
# 忽略整个代码库
*
# 不忽略`app`目录
!app/
# 忽略任意目录中的logs目录
**/logs
注意事项
- 空行将被忽略
- 以
#
开头的行视为注释并被忽略 - 模式匹配基于
.cursorignore
文件所在位置的相对路径 - 后列模式将覆盖文件中先前列出的冲突模式
使用.cursorindexingignore
限制索引
若仅需在索引时启用忽略功能,请在代码库根目录创建.cursorindexingignore
文件,列出需从索引中排除的目录和文件。
.cursorindexingignore
中列出的文件不会进入Cursor索引,但仍可通过Cursor的AI辅助功能访问,包括当Cursor搜索代码库并将其暴露给LLM时。
默认忽略文件
Cursor还会自动忽略根目录.gitignore
文件及下方默认忽略列表中列出的所有文件。若需取消忽略这些文件中的特定项,请在.cursorignore
文件中添加带!
前缀的对应条目。
故障排除
排查忽略文件问题时,可使用git check-ignore -v [文件]
命令测试模式匹配效果。