Neovim 的代码检查、补全问题

6 天前
 superhxl

Neovim 采用 nvim-cmp + pyright 进行 Python 代码检查、补全,但是对于复杂的代码,譬如自定义类,继承自父类的一些属性、方法就检测不到,提示错误。如图: 自定义类 MoneyAgent 中有继承自父类 CellAgent 的对象 cell ,cell 具有属性 neighborhood ,pyright 完全意识不到。 请教: 1 、是不是有设置方法可以改进、提升 2 、除了 pyright 或者 nvim-cmp ,是不是还有更好的补全工具? 谢谢,请各位 V 友不吝赐教。

989 次点击
所在节点    Python
5 条回复
yb2313
6 天前
我觉得应该是 lsp 能力有限, 之前在 vsc 上试过也是一样的, 嵌套过深就不行, 最终还是得用 ide.包括 pyrefly 的跳转也是完全不能用.
apple115
6 天前
或许可以试试 basepyright
superhxl
6 天前
@apple115 一样的,存在同样的问题。
Syiize
6 天前
给 cell 手动加个 type hint 就好了,比如 def __init__(self, model, cell: CLASS_TYPE)
Alias4ck
4 天前
pylance /pyrefly/ty
虽然 ty/prefly 有很多功能没有支持
可以用 pylance 的 crack 版本 delance😄

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1170555

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX