이렇게하면 파일 캐싱 속도가 빨라지지 않지만 오래된 파일 (새 파일이 포함되지 않은)을 무효화해야하는 수동 단계는 저장되지 않습니다.
Projectile은 /your/projectile/project/root/.projectile
파일이 프로젝트 캐시 파일보다 최신 인 경우 자동으로 캐시를 무효화 합니다.
이 점검은 발사체를 사용하여 프로젝트에서 파일을 찾으려고 할 때마다 수행됩니다. projectile-find-file
또는 C-c p f
이 작업을 수행하는 명령 중 하나가 먼저 확인되는 경우.
(defun projectile-maybe-invalidate-cache (force)
"Invalidate if FORCE or project's dirconfig newer than cache."
(when (or force (file-newer-than-file-p (projectile-dirconfig-file)
projectile-cache-file))
(projectile-invalidate-cache nil)))
- projectile.el
출처 -라인 575-579
소위 솔루션 이다 파일 때 프로젝트를 업데이트합니다. 예를 들어, 당신은 할 수 , , 등해야 할 일touch
.projectile
alias
git commit
git pull
touch /your/projectile/project/root/.projectile`
git
명령으로 무엇을 하든지
따라서 팀의 누군가가 프로젝트에 새 파일을 추가하고 (git to version control을 사용한다고 가정 할 때) 특수 별칭 별칭 git pull을 사용 projectile-find-file
하면 다음에 할 때 캐시가 자동으로 무효화됩니다 .
M-x
projectile-cache-current-file
. 원하지 않는 경우 Emacs 는 파일을 찾기 위해 전체 트리를 통과 해야 하므로 최적화 할 수 없습니다.