如果你希望 Cursor 能在專案中「看到」某些檔案,但不讓 AI 自動讀取或索引這些檔案的內容,那麼 .cursorindexingignore 是你的最佳選擇!
為什麼用 .cursorindexingignore?
.cursorindexingignore 就像給 Cursor AI 一個「只看封面、不翻書」的指令。它讓你:
- 保留檔案可見性:檔案仍出現在專案結構或搜尋結果中。
- 阻止內容索引:AI 不會自動讀取或分析檔案內容,保護敏感資料(如 API Key)或避免處理大型檔案(如 node_modules)。
- 提升效能:減少不必要的索引,加快 AI 回應速度。
這與 .cursorignore 不同,後者會盡力完全阻止 AI 存取檔案(包括搜尋)。如果你需要檔案可被搜到但內容不被讀取,.cursorindexingignore 是正確工具。
步驟 1:建立 .cursorindexingignore 檔案
- 在專案根目錄下建立一個名為 .cursorindexingignore 的檔案。
- 使用文字編輯器(如 VS Code)打開檔案。
- 開始寫入規則,指定哪些檔案或資料夾不應被 AI 索引內容。
步驟 2:寫入忽略規則
.cursorindexingignore 使用與 .gitignore 相似的語法,每行指定一個檔案或資料夾。以下是常見範例:
# 忽略環境設定檔的內容,保護敏感資料,但檔案仍可被搜到
.env
*.env
# 忽略大型資料夾的內容,提升 AI 效能
node_modules/
dist/
build/
# 忽略特定檔案類型,但允許搜尋到它們
*.log
*.key
規則說明:
- # 開頭表示註解,記錄規則用途。
- 資料夾後加 / 表示忽略該資料夾內所有檔案的內容。
- 萬用字元 * 可匹配多個檔案,例如 *.env 忽略所有 .env 開頭的檔案。
- 這些檔案仍會出現在 Cursor 的檔案瀏覽器或搜尋中,但 AI 不會預載其內容。
步驟 3:測試設定效果
設定好 .cursorindexingignore 後,確認 Cursor 是否正確執行:
- 重啟 Cursor 或重新索引專案(快捷鍵:Cmd/Ctrl + Shift + P,輸入 "Cursor: Reindex")。
- 在 Cursor 中搜尋檔案(例如用 Cmd/Ctrl + T 搜尋 .env),確認檔案出現在結果中。
- 請 AI 分析專案(例如問「幫我檢查專案中的 .env 檔內容」),確認 AI 無法直接讀取 .cursorindexingignore 中指定的檔案內容。
常見問題與解法
- 問題:檔案還是被 AI 讀取了!
解法:確認檔案名稱是 .cursorindexingignore(注意「indexing」拼寫,無空格或額外副檔名)。檢查是否放在專案根目錄,並重新索引專案。 - 問題:我想讓某些檔案完全不被 AI 存取,怎麼辦?
解法:使用 .cursorignore 來完全阻擋(best-effort)。.cursorindexingignore 只阻止索引,不完全阻止手動存取。 - 問題:我要忽略多個環境設定檔怎麼寫?
解法:用 *.env* 忽略所有以 .env 開頭的檔案,例如 .env.local、.env.production。
完美平衡可見性與隱私
透過 .cursorindexingignore,你成功讓 Cursor 搜到檔案但不讀取內容,兼顧了專案的可見性與效能!
快速回顧:
- 建立檔案:在專案根目錄新增 .cursorindexingignore。
- 寫入規則:指定不需索引的檔案或資料夾,保留搜尋可見性。
- 測試效果:確認檔案可見但內容未被 AI 讀取。
有沒有特別的檔案你想讓 Cursor 只搜到但不讀取?在留言區分享你的 .cursorindexingignore 規則吧!