lsp+pyls怎么编辑单文件


#1

py文件目录需要有 setup.py 才能用 lsp-mode。

如果我只想编辑单文件的话会提示 LSP :: test.py not in project

我应该怎么做?


#2

随便起个什么项目就行了。比如可以git init

如果用了projectils,最环保的方式是touch .projectile


#3

感谢,这样确实有用。只是python作为脚本语言为什么要采取这种方式呢。


#4

只要有文件夹,就可以设置项目根目录。

不必为 foo.py 创建 foo 目录。

但 foo.py 总归是放在某个目录下,比如 “/path/to/misc”。这时就可以手动设置 misc 为项目根目录。


出现这个问题,是因为你之前某一次操作,手太快,把这个目录放到 lsp 黑名单了。

我在这里有提到:如何让 lsp-mode 根据文件后缀或其它策略选取服务

楼下 yyoncho 也说了打算改进,不知现在是否已经实现。


#5

This is implemented, you could have activation function and start the server based on whatever criteria you want.

@zhscn I guess you have set lsp-auto-guess-root to t? If you set it to nil which is the recommended setting you will be asked to select a root if lsp-mode cannot detect the current root.


#6

It works after setting lsp-auto-guess-root to nil. Thanks :smile:


#7

是 lsp-auto-guess-root的原因,已经解决了


#8

你确定是lsp-auto-guess-root设置为nil吗?


#9

是的,之前设置为t,打开文件时不会有关于project的提示。