亲测:lsp-python-ms vs pyls 性能

我没有遇到问题呢

打开debug看看backtrace:toggle-debug-on-error。

已经安装到别处了干嘛还要执行update server啊?默认路径是~/.emacs.d/mspyls/

我重新ln -sf $(git rev-parse --show-toplevel)/output/bin/Release/osx-x64/publish/Microsoft.Python.LanguageServer ~/.local/bin/,把这个路径改成~/.emacs.d/mspyls/应该就可以了吧

非常好用,太感谢了!!因为懒得装dotnet,于是一直用pyls凑合着。你这个解决方案不仅方便,而且还mspyls的解析时间(貌似vscode里解析好之后,Emacs上用没有再进行索引,直接可以用,大赞!!)

这个是两套不同的配置,要么就把自己编译的完全删除,再重新下载配置,会去下载ms预编译的包。要么直接用自己编译的,就不要用这个自动更新的了。

我知道了 我是自己已经编译好了的 算了我就继续用之前的算了 用的也挺舒适的

我这 xref 正常,没这个问题。

同,遇到了这个问题,直接把xref package直接拷贝过去吗?

能直接用VSCode安装好的插件吗? 这样升级可以在VSCode里管理

直接软链接vsc下载回来的pyls?

当然是微软的mspyls. 软链接也可以, 绝对路径也可以. 不过我不用python, 路过.

35 楼的 方法就是找 vscode 下回来的插件。

VSCode 可以设置 ms-pyls 路径吗?

翻了一圈,没找到对应的设置。

1 个赞

话说,谁知道 lsp-python-ms-cache-dir 这个变量究竟有什么用?

看起来好像是设置 ms-pyls 用来存放cache的地方,但是这个 cache 依然被存在 ms-pyls 自己默认的地方, 比如 在 macos 上, cache 位置是 ~/Library/Caches/Microsoft/Python Language Server

对的,直接copy过去就行了

  1. 感觉好像还是会索引?

他们在讨论lsp-python-ms-cache-dir,这个默认的也不是vscode的msplys cache路径。

我也不是很清楚他这里的cache包不包括index,像ccls-cache那样应该是有index的。

lsp-python-ms-cache-dir is a variable defined in lsp-python-ms.el.

Value
"~/.emacs.d/.lsp-python"

Pretty view Set

Documentation
Path to directory where the server will write cache files.

If this is nil, the language server will write cache files in a directory
sibling to the root of every project you visit

目前看来,如果想要vscode用的cache路径跟emacs下的一样,最方便的是把两个cache dir都设置成nil,这样都会用project directory下的了吧。

然而根据这个帖子的测试,有可能直接find vscode下python plugin编译的msplys可能直接会用vscode的cache?

这个变量已经没有用了

I see. 我刚看到PR里有。。。

一直在用pyls,坐等其日趋完善。