After visiting a file that is part of a git repository, Projectile acknowledges the existence of my git repository as a project, but it only lists one file (the current file) as being part of the project. As I visit other files in the project, they become part of the project one at a time.
How do I create projects in Projectile so that they are immediately aware of all files in the project?
All of the tutorials that I have found so far assume that you are visiting a file within an existing project, and that Projectile knows what files that project contains.
When I set up Projectile I took the following suggestion in the Projectile documentation:
Since indexing a big project is not exactly quick (especially in Emacs Lisp), Projectile supports caching of the project's files. The caching is enabled by default whenever native indexing is enabled.
To enable caching unconditionally use this snippet of code:
(setq projectile-enable-caching t)
Since I will occasionally be navigating some large projects, I added this to my init file hoping that it would give me a performance boost. I do not know how Projectile manages its caching, but at the time I assumed that the first time I visited a project, the project tree would be explored, and the cache would be populated with all of the project files. It appears that my assumption was wrong.
After I set
nil, Projectile was able to find all of the files in my project. Thanks to alexurba's answer and follow-up comments, I was able to find the problem.