Projectile은 프로젝트의 모든 파일을 표시하지 않습니다


12

git 리포지토리의 일부인 파일을 방문한 후 Projectile은 내 git 리포지토리가 프로젝트로 존재한다는 것을 확인하지만 하나의 파일 (현재 파일) 만 프로젝트의 일부로 나열합니다. 프로젝트의 다른 파일을 방문하면 한 번에 하나씩 파일의 일부가됩니다.

Projectile에서 프로젝트의 모든 파일을 즉시 인식 할 수 있도록 프로젝트를 작성하려면 어떻게해야 합니까?

지금까지 찾은 모든 자습서는 기존 프로젝트 내의 파일을 방문하고 있고 Projectile이 해당 프로젝트에 포함 된 파일을 알고 있다고 가정합니다.


최신 정보

Projectile을 설정할 때 Projectile 설명서에서 다음 제안을 수행했습니다.

캐싱

큰 프로젝트를 인덱싱하는 것이 빠르지 않기 때문에 (특히 Emacs Lisp에서) Projectile은 프로젝트 파일 캐싱을 지원합니다. 기본 인덱싱이 활성화 될 때마다 캐싱이 기본적으로 활성화됩니다.

무조건 캐싱을 사용하려면 다음 코드 스 니펫을 사용하십시오.

(setq projectile-enable-caching t)

때때로 큰 프로젝트를 탐색하기 때문에 init 파일에 이것을 추가하여 성능을 향상시킬 수 있기를 바랍니다. Projectile이 캐싱을 관리하는 방법을 모르지만 처음 프로젝트를 방문했을 때 프로젝트 트리가 탐색되고 캐시가 모든 프로젝트 파일로 채워질 것이라고 가정했습니다. 내 가정이 틀린 것 같습니다.

내가 설정 한 후 projectile-enable-cachingnil, 발사체 내 프로젝트의 모든 파일을 찾을 수 있었다. alexurba의 답변 과 후속 의견 덕분에 문제를 찾을 수있었습니다.


이 질문은 너무 광범위해서 종결되어야합니다. SE에게는 적합하지 않습니다. 발생한 특정 문제 하나에 대해 구체적인 질문을하십시오. 특정 문제에 필요한 상황에 맞는 정보를 제공하십시오.
Drew

4
나는 너무 많은 이야기가있는 좋은 질문이라고 생각합니다. "이 프로젝트의 모든 파일을 즉시 인식 할 수 있도록 Projectile에서 프로젝트를 설정하는 방법"에 초점을 맞추면 좋을 것 같습니다.
Jordon Biondo

3
@ JordanBiondo : 집중력이 높을수록 (SE에게는) 유용합니다. 확실히 최소한의 초점을 목표로하여 닫히거나 닫히지 않도록 할 수 있습니다. 그러나 그보다 더 잘 할 수 있어야합니다. 나는 아마도 어딘가에 3-4 개의 좋은 질문이있을 것이라고 추측하고 있으며, 집중된 방식으로 개별적으로 제기된다면 모든 사람들이 혜택을 볼 것입니다.
Drew

어떤 플랫폼을 사용하고 있습니까 (Windows, Mac, Linux)? 프로젝트 파일의 색인 생성은 플랫폼에 따라 구현되는 것으로 보입니다.
alexurba

1
Linux (RHEL 6.5)에서 이것을 테스트하고 있지만 모든 플랫폼에서 사용할 수 있기를 바랍니다.
nispio

답변:


8

활성화되면 projectilegit 프로젝트에 즉시 사용할 수 있습니다. 포함하려면

(projectile-global-mode)

Emacs 구성 (또는 시작 projectile-mode)에서 수동으로.

그런 다음 projectile-find-file(기본 키 바인딩은 C-c p f)처럼 작동 find-file하지만 프로젝트 기본 디렉토리의 하위 디렉토리 ( .git디렉토리가있는) 의 모든 파일에서 작동합니다 .

자식을 피 .projectile하려면 프로젝트 루트에 파일 을 만들 수도 있습니다 . 이것은 동일한 효과가 있으며 특정 파일이나 디렉토리를 무시하는 데 사용할 수 있습니다 (와 유사 .gitignore).

프로젝트의 github 페이지 에서 더 많은 정보를 찾을 수 있습니다 (너무 길다). 나는 특히에 대한 섹션을 읽을 것을 권장 Ido하고 helm.

편집하다:

의 값을 확인하십시오 projectile-indexing-method. Linux에서이 alien값은 projectile-enable-caching이어야하며 값은 이어야합니다 nil.


이것은 정확히 나를 위해 작동하지 않는 부분입니다. 를 실행 projectile-find-file하면 프로젝트 디렉토리에 더 많은 파일이 포함되어 있어도 이미 방문한 파일 만 나열됩니다.
nispio

@nispio의 프로젝트 페이지에는 다른 인덱싱 및 캐싱 방법이 언급되어 있습니다. projectile-indexing-method( C-h v projectile-indexing-method) 의 값을 확인할 수 있습니까 ? 리눅스에서 이것은이어야한다 alien.
alexurba

그리고 projectile-enable-caching해야합니다 nil.
alexurba

2
찾았어요 나는 설정 projectile-enable-caching하고 nil예상대로 작동하기 시작했습니다. 그것을 알고, 나는 그것을 다시 설정 하고 캐시를 무효화하는 데 t사용할 수 있었고 작동하고 있습니다. 프로젝트가 이전에 캐시 된 적이 없다면 캐시를 무효화 해야하는 이유가 혼란 스럽지만 다른 질문에 대해서는 저장하지 않을 것입니다. C-u C-c p fprojectile-find-file
nispio

잘 작동합니다. 그러나 '외국인'인덱싱을 사용할 수없는 Windows에서 어떻게 될지 잘 모르겠습니다. 그러나 아마도 그것은 당신이 그것에 빠질 때 두 번째 질문의 주제가 될 수 있습니다.
alexurba
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.