emacs projectile - "你不在项目中#34;在目录中显示

时间:2016-01-23 05:37:34

标签: emacs projectile

我刚刚创建了一个新的javascript文件夹。

结构是:

.gitignore
README.md
build
node_modules
package.json
src
webpack.config.js

但是当我尝试找到一个C-c p f的文件时,我在状态栏中收到一条消息,说明

  

您不在项目中

我有其他项目具有相同的结构,工作正常,所以我不知道发生了什么。

3 个答案:

答案 0 :(得分:6)

我认为只有当projectile文件夹中有.git时,您的项目确实被git init视为项目(您是否忘了.projectile?)。在你的情况下,我没有看到一个。您也可以添加.projectile文件。包含Math.sine(30)文件和所有子文件夹的该文件夹中的所有内容都将被视为同一项目的一部分。

答案 1 :(得分:0)

免责声明:我知道这则帖子已经很老了,但是由于遇到了类似的问题 今天,在我看来,分享我的笔记很重要,要照顾不太熟悉emacs lisp的用户。


罪魁祸首功能可能是projectile-project-root

您可以尝试通过以下方式进行调查

  • C-h f(describe-function 'projectile-project-root)
  • C-h v(describe-variable 'projectile-require-project-root)

帮助屏幕提供了 elisp源代码的链接,您可以使用debug-on-entry逐步进行操作(请参见elisp中的信息节点“ Debugging”)

此功能使用缓存,因此可能有些不方便,具体取决于您使用emacs lisp的技能。


解决方法:

我通过将项目移动到另一个目录解决了我的问题,怀疑它的名称以“ test”开头可能是造成此问题的原因。我还删除了项目缓存子目录(也选中了隐藏目录)。

答案 2 :(得分:0)

只需使用C-x C-f打开git项目中的任何文件,然后尝试运行命令C-c p f。

在git项目中打开文件将使投射物识别该项目。

  

只需在版本控制的文件(例如git)或项目中打开某些文件   (例如maven)被Projectile识别的目录,   准备采取行动。