我刚创建了一个新的JavaScript文件夹。
它的结构如下:
.gitignore
README.md
build
node_modules
package.json
src
webpack.config.js
但是,当我尝试使用
C-c p f
查找文件时,在状态栏中会显示以下消息:
我有其他结构相同的项目可以正常工作,所以我不知道发生了什么事情。您不在项目中
我刚创建了一个新的JavaScript文件夹。
它的结构如下:
.gitignore
README.md
build
node_modules
package.json
src
webpack.config.js
C-c p f
查找文件时,在状态栏中会显示以下消息:
我有其他结构相同的项目可以正常工作,所以我不知道发生了什么事情。您不在项目中
我认为只有在您的项目中有一个.git
文件夹(您是否忘记了git init
?),projectile
才会将您的项目视为项目。在您的情况下,我没有看到它。您可以选择添加一个.projectile
文件。该文件夹中包含.projectile
文件和所有子文件夹中的所有内容都将被视为同一项目的一部分。
只需使用C-x C-f打开git项目中的任何文件,然后尝试运行命令C-c p f。
在git项目中打开文件将使Projectile识别该项目。
只需在受版本控制(例如Git)或项目(例如Maven)目录中打开某个文件,该目录已被Projectile识别,您就可以开始操作了。
免责声明:我知道这篇文章现在有点旧了,但由于我今天遇到了类似的问题,所以我认为分享一下我的笔记是相关的,特别是对那些不太熟悉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”开头可能导致了问题。我还删除了项目缓存子目录(也要检查隐藏的)。