spacemacs에서 발사체 파일의 캐시를 지우는 방법은 무엇입니까?


33

키 바인딩을 사용 spacemacs하고 종종 프로젝트 SPC p f에서 파일을 찾기 위해 사용합니다 projectile. 그러나 자식에서 파일을 제거한 후에도 삭제 된 파일 SPC p f이 표시됩니다.

SPC p I캐시를 무효화하는 데 사용하려고 시도했지만 작동하지 않았습니다.

문제를 해결하는 방법?


4
바인딩이 올바르게 작성되었는지 확인할 수 있습니까? 당신이 할 때 무엇을 얻 C-h k SPC p l습니까? 에 바인딩되어야합니다 projectile-invalidate-cache. M-x projectile-invalidate-cache작동하는지 확인하십시오 .
Kaushal Modi 2016 년

나는 스페이스 맥을 사용하고 있으며 일부 키 매핑을 재정의했습니다.
Daniel Wu

2
키 매핑을 변경해도됩니다. 키가 바인딩되어야한다고 생각되는 명령에 바인딩되어 있는지 확인하도록 요청합니다. 그럼에도 불구하고 Mx 접근법을 사용하는 것이 효과가 있었습니까?
Kaushal Modi 2016 년

1
Spacemacs가 recentf프로젝트 파일을 정렬하는 데 사용 하기 때문 입니다. 이전 Projectile 버전에서는 파일을 삭제 한 후에도 Projectile은에서 오래된 파일 목록을 계속 재사용했습니다 recentf. 이후 Projectile 버전에서 Projectile 캐시를 지우면 recentf파일 목록이 정리되고 삭제 된 파일이 제거됩니다. 최신 Projectile로 업데이트하고 다시 시도하십시오.
Tu Do

답변:


30

입력 M-x projectile-invalidate-cache하면 바인딩 옆에 명령이 표시됩니다. 나에게 바인딩은 M-m p I어느 것이 맞았으며, 거룩한 모드 ( spc p I악한 모드)에 대해 의심되는 기본값이어야한다고 말했습니다 .


자동으로 수행 할 수있는 방법이 있기를 바랍니다.
Lorem Ipsum Dolor

1
@LiXinyang 프로젝트 파일을 절대 캐시하지 않도록 구성에 설정할 수 있습니다. 그러나 많은 파일이있는 프로젝트에서 프로젝트 작업이 느려집니다. '(projectile-enable-caching nil)
Jimmy Hoffa

0

캐시 무효화 프로세스 자동화에 대한 @Xinyang Li 질문에서 영감을 얻어 프로젝트 간 전환 후 emacs를 초기화 한 후 모든 프로젝트의 캐시를 지우면 프로젝트 스 니펫을 사용하여 현재 프로젝트의 발사체 캐시를 지우기 시작했습니다.

(add-hook 'projectile-after-switch-project-hook (lambda ()
      (projectile-invalidate-cache nil)))


(add-hook 'after-init-hook (lambda ()
    (mapc (lambda (project-root)
        (remhash project-root projectile-project-type-cache)
        (remhash project-root projectile-projects-cache)
        (remhash project-root projectile-projects-cache-time)
        (when projectile-verbose
            (message "Invalidated Projectile cache for %s."
                (propertize project-root 'face 'font-lock-keyword-face)))
        (when (fboundp 'recentf-cleanup)
            (recentf-cleanup)))
        (projectile-hash-keys projectile-projects-cache))
    (projectile-serialize-cache)))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.