忽略檔案
概述
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 [文件]命令測試模式匹配效果。