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

用python, ipython不确定。

是要把这行改成 python.exe 吗? 我修改了,还是不行呢

先解决json错误吧,这个跟lsp-mode有关。

无语了,是我的python环境有问题,python.exe直接调用了

~/AppData/Local/Micosoft/WindowsApps

里的python.exe,那个奇怪的文件只有0kb,链接到微软的商店,删除掉对应的 环境path变量值就好了。 另外,lsp-python-ms 每次启动 打开xxx.py文件都会索引,可不可以只索引一次?

image

;; Set up package.el to work with MELPA (require 'package) (package-initialize)

;; Download Evil (unless (package-installed-p 'evil) (package-install 'evil))

;; Enable Evil (require 'evil) (evil-mode 1) (provide 'init-evil) 然后在init.el增加一行require,就可以您的配置上使用evil了,亲测可用

6年过去了, 现在python的lsp哪个最好用?

在用 delance,观望 astral-sh/ty

基于 astrash 公司开发出了 uv 包/项目管理器的实力,我毫不怀疑 ty 一旦将 lsp 的核心功能(代码补全,定义查询)实现后,将会成为最好用的 python lsp。

但是目前来看,最好的 python lsp 应该还是 basedpyright。主要原因:1. 基于微软的 pyright 底子,代码底子基础比较完善。2. 完全社区开发,加入了很多微软为了推广 vscode 的目的不会在 pyright 中实现,只会在闭源 pylance lsp 里实现的功能。

顺便问一下你这个 delance 似乎是个新出来的项目。目前来看文档还比较欠缺,这个项目有什么有意思的点吗?

ty看来前途不错啊,basedpyright 项目大一点的话 diagnosticMode为workspace 会有明显卡顿

这几个能配合 eglot 使用吗?

就是你上面回复中的某个 server 的xx版

可以

(add-to-list 'eglot-server-programs
               `((python-mode python-ts-mode) . ,(eglot-alternatives
                                                  '(("delance-langserver" "--stdio")
                                                    ("ruff" "server" "--preview")
                                                    "pylsp" "pyls" ("basedpyright-langserver" "--stdio")
                                                    ("pyright-langserver" "--stdio")
                                                    "jedi-language-server"))))
1 个赞