close
Skip to main content

Command Palette

Search for a command to run...

はじめに

無視ファイル

Cursor はプロジェクトのコードベースを読み取り、各種機能を提供します。ルートディレクトリの .cursorignore ファイルで、Cursor がアクセスできるディレクトリやファイルを制御できます。

Cursor は、.cursorignore に指定されたファイルへのアクセスを以下からブロックします。

  • Agent、Tab、Inline Edit からアクセス可能なコード
  • @ mention references 経由でアクセス可能なコード

ファイルを無視する理由

セキュリティ: API キー、認証情報、シークレットへのアクセスを制限します。Cursor は無視対象のファイルをブロックしますが、LLM の予測不能性のため、完全な保護は保証できません。

パフォーマンス: 大規模なコードベースやモノレポでは、無関係な部分を除外することで、ファイル検出の精度を高めます。

.cursorignore の設定

ルートディレクトリに、.gitignore 構文を使用した .cursorignore ファイルを作成します。

パターン構文

  • */ 以外の任意の文字に一致します
  • **/ を含む任意の文字に一致します
  • ? は1文字に一致します
  • ! はパターンを否定します (以前に無視したパスを再び対象にします)
  • # で始まる行はコメントです
  • 行末のスペースは、\ でエスケープされている場合を除き無視されます

パターンの例

config.json      # 特定のファイルdist/           # ディレクトリ*.log           # ファイル拡張子**/logs         # ネストされたディレクトリ!app/           # 無視対象から除外(否定)

階層的な無視

Cursor Settings > Features > Editor > Hierarchical Cursor Ignore を有効にすると、親ディレクトリ内の .cursorignore ファイルを検索します。

グローバル ignore ファイル

ユーザー設定で全プロジェクトに適用される ignore パターンを設定し、プロジェクトごとの設定なしで機密ファイルを除外できます。グローバル ignore リストはデフォルトでは空です。

追加する一般的なパターン:

  • 環境ファイル: **/.env, **/.env.*
  • 認証情報: **/credentials.json, **/secrets.json
  • キー: **/*.key, **/*.pem, **/id_rsa

デフォルトで無視されるファイル

Cursor は .gitignore 内のファイルと、以下のデフォルトの ignore リストに含まれるファイルを自動的に無視します。.cursorignore では、! プレフィックスを使ってこの設定を上書きできます。

以下のファイルは、.gitignore.cursorignore 内のファイルに加えて無視されます。

package-lock.jsonpnpm-lock.yamlyarn.lockcomposer.lockGemfile.lockbun.lockb.env*.git/.svn/.hg/*.lock*.bak*.tmp*.bin*.exe*.dll*.so*.lockb*.qwoff*.isl*.csv*.pdf*.doc*.doc*.xls*.xlsx*.ppt*.pptx*.odt*.ods*.odp*.odg*.odf*.sxw*.sxc*.sxi*.sxd*.sdc*.jpg*.jpeg*.png*.gif*.bmp*.tif*.mp3*.wav*.wma*.ogg*.flac*.aac*.mp4*.mov*.wmv*.flv*.avi*.zip*.tar*.gz*.7z*.rar*.tgz*.dmg*.iso*.cue*.mdf*.mds*.vcd*.toast*.img*.apk*.msi*.cab*.tar.gz*.tar.xz*.tar.bz2*.tar.lzma*.tar.Z*.tar.sz*.lzma*.ttf*.otf*.pak*.woff*.woff2*.eot*.webp*.vsix*.rmeta*.rlib*.parquet*.svg.egg-info/.venv/node_modules/__pycache__/.next/.nuxt/.cache/.sass-cache/.gradle/.DS_Store/.ipynb_checkpoints/.pytest_cache/.mypy_cache/.tox/.git/.hg/.svn/.bzr/.lock-wscript/.Python/.jupyter/.history/.yarn/.yarn-cache/.eslintcache/.parcel-cache/.cache-loader/.nyc_output/.node_repl_history/.pnp.js/.pnp/

否定パターンの制限

否定パターン (!で始まるパターン) を使用しても、親ディレクトリが*で除外されている場合は、ファイルを再度含めることはできません。

# public フォルダー内のすべてのファイルを無視するpublic/*# ファイルがトップレベルにあるため、これは機能する!public/index.html# これは機能しない - ネストされたディレクトリ内のファイルは再度含められない!public/assets/style.css

回避策:ネストされたディレクトリを明示的に除外します。

public/assets/*!public/assets/style.css # このファイルはアクセス可能になります

除外されたディレクトリはパフォーマンス上の理由から走査されないため、配下のファイルに対するパターンは効果がありません。 これは、ネストされたディレクトリ内の否定パターンに関する .gitignore の仕様と一致します。詳細は、gitignore パターンに関する公式 Git ドキュメントを参照してください。

トラブルシューティング

git check-ignore -v [file]でパターンを確認します。