如果“projectile-invalidate-cache”不能解决问题,我该如何从emacs-projectile缓存中删除已删除的文件?

7
基本上标题已经说明了问题。由于某些原因,projectile-invalidate-cache未能从projectile的缓存中删除死文件,或者至少不从它呈现给我的结果中删除。我正在使用Emacs的扩展Spacemacs,但我相信这个问题是特定于projectile的。
重启编辑器无法解决该问题。

这些文件在git里吗? 你把它们移动到别的地方了吗? 如果你将旧文件和新文件都暂存起来,让git知道这是一个重命名,那么projectile会正常工作吗? - Bae
4个回答

5
尝试的一件事是确保您正在从项目中运行projectile-invalidate-cache 清除文件 (即,从正在访问该项目中的文件的缓冲区)。从projectile-invalidate-cache的文档中得知:

从“projectile-projects-cache”中删除当前项目的文件。

请注意,它只适用于“当前项目”。

然而,我使用该命令时也没有太多好运(这可能是我没有正确使用该命令)。我通常做的是删除实际的缓存文件(在我的情况下,这是~/.emacs.d/projectile.cache。我没有注意到任何负面影响,您的缓存将在下一次使用projectile时重新构建,而不会包括已删除的文件。


3
如果你的项目是git项目,尽量提交你的更改。这对我很有效。

1
实际上,需要删除的projectile.cache文件的正确路径是:~/.emacs.d/.cache/projectile.cache

0

我通过MELPA安装了它,删除~/.emacs.d/projectile-bookmarks.eld对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接