最近在折腾 nvim 的 Python 开发配置,但是发现能找不到一个衬手的 LSP ,没有能取代 VSCode 的 Pylance 。测试过的包括:
第一个pyright
是微软出品,但是 hover 操作只有方法签名,没有详细的 doc string ;应该它的定位是个 static type chcker ,只是顺带有点 lsp 的功能。
第二个python-lsp-server
缺乏静态分析功能。比如np.arange(15).reshape(3, 5)
,它不知道 arange 返回的是narray
,所以后面的 reshape 无法提示也无法提供 hover 操作。
第三个jedi-language-server
今天刚测试,发现它只读取包的pyi
信息,导致很多时候提示内容不足。比如它认为np.log(10)
的 log 是个变量,因为 pyi 文件中定义的是log: _UFunc_Nin1_Nout1[L['log'], L[10], None]
。
大家是否有推荐的 Python LSP ?能做到媲美 Pylance 的那种程度。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.