Neovim 采用 nvim-cmp + pyright 进行 Python 代码检查、补全,但是对于复杂的代码,譬如自定义类,继承自父类的一些属性、方法就检测不到,提示错误。如图:
自定义类 MoneyAgent 中有继承自父类 CellAgent 的对象 cell ,cell 具有属性 neighborhood ,pyright 完全意识不到。
请教:
1 、是不是有设置方法可以改进、提升
2 、除了 pyright 或者 nvim-cmp ,是不是还有更好的补全工具?
谢谢,请各位 V 友不吝赐教。
1
yb2313 6 天前 我觉得应该是 lsp 能力有限, 之前在 vsc 上试过也是一样的, 嵌套过深就不行, 最终还是得用 ide.包括 pyrefly 的跳转也是完全不能用.
|
2
apple115 6 天前
或许可以试试 basepyright
|
4
Syiize 6 天前
给 cell 手动加个 type hint 就好了,比如 def __init__(self, model, cell: CLASS_TYPE)
|
5
Alias4ck 4 天前
pylance /pyrefly/ty
虽然 ty/prefly 有很多功能没有支持 可以用 pylance 的 crack 版本 delance😄 |