跳至主要内容

忽略檔案


概述

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 [文件]命令測試模式匹配效果。