spacemacs能否把VS工程当作是工程目录?

根据子龙山人的视频教程

他是根据目录下有.projectile文件才能启用SPC- p-f命令,根据此理我可不可以根据目录下有.sln(VS工程)而进行一些工程命令操作呢?要怎么设置spacemacs?这样我用spacemacs编辑VS工程就方便多了!求大神指导!

customize the projectile-project-root-files-bottom-up variable

我按你的方法在配置文件里面添加之后,查询这个变量是对的 但使用SPC-p-f快捷键后,仍然不能打开,提示这个

那就再试试 projectile-project-root-files

这样设置后还是不行,怎么办?

这个地方指定的应该是整个文件名,不是文件扩展名,你说的 .sln 是扩展名吧

是的,难道不能这样子做吗?

等我得空再看一下吧,有可能是不行的

看了下应该是不支持你这个需求的,你可以这样修改一下试试:

把你刚才配置的 .sln 改为 *.sln,然后在 .spacemacs 里加上这段试试:



(with-eval-after-load 'projectile
  (defun projectile-root-top-down (dir &optional list)
    "Identify a project root in DIR by top-down search for files in LIST.
If LIST is nil, use `projectile-project-root-files' instead.
Return the first (topmost) matched directory or nil if not found."
    (projectile-locate-dominating-file
     dir
     (lambda (dir)
       (cl-find-if (lambda (f) (projectile-file-exists-p (car (file-expand-wildcards (expand-file-name f dir)))))
                   (or list projectile-project-root-files))))))

还是一样,没办法解决啊!

你需要先把你的 .emacs.d 目录下面的 .cache/projectile.cache 文件删除,然后再修改 projectile-project-root-files, 把你的 .sln 文件放进去就可以了。

大神我是想把后缀为.sln当成是工程目录,这样设置仍然不行,不知道怎么来设置

没用过,也不懂

我是开发C++项目的,你这推荐的不合适啊!

我明白你的意思了,如果每个工程都要加一个那种文件,那是多麻烦的一件事情,我是做棋牌游戏开发的,项目有几百个,每次我打开都要添加一个文件,那是多蛋疼的事.

明白你的意思了,谢谢你,我知道要怎么做了,一个新手路很难.

最近在写C#的飘过~~ 是想用spacemacs管理整个solution吗?好酷,你成功了吗

看来我还没有入门

根据山人的思路,找到一个笨办法: 在~/.emacs.d/.cache/projectile-bookmarks.eld/中 增加 project路径,重新启动spacemacs就可以了。 ("e:/workspace/2016/" "~/.emacs.d/" "~/.spacemacs.d/" "~/") 在我的~/.emacs.d/.cache/目录下,没有其他与projectile相关的文件。

目前没有找到 通过命令的方式 将任意目录配置为project的办法。 (逃

这个设置工程我现在不是问题了,问题是C++的编辑环境比VS差太多了,所以就没有太大的意义了!