但我要看源码的时候,按下 ctrl+鼠标左键
,却没有跳转到 py
文件中,而是到了一个 pyi
文件中,看了一下路径,是来自一个叫做 pylance
插件下面的!
这个插件挺好用的,不想卸载,但是这种跳转到 pyi
的做法实在是太蠢了!
如果关闭?我要看 py
文件,而不是 pyi
文件!!!
设置项实在是太多了,都不知道应该用哪个?
看到网上有说是因为虚拟环境下没有安装对应的包导致的,但显然我不是这个问题!
但我要看源码的时候,按下 ctrl+鼠标左键
,却没有跳转到 py
文件中,而是到了一个 pyi
文件中,看了一下路径,是来自一个叫做 pylance
插件下面的!
这个插件挺好用的,不想卸载,但是这种跳转到 pyi
的做法实在是太蠢了!
如果关闭?我要看 py
文件,而不是 pyi
文件!!!
设置项实在是太多了,都不知道应该用哪个?
看到网上有说是因为虚拟环境下没有安装对应的包导致的,但显然我不是这个问题!
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
2 回答500 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
BaseManager
里确实没有filter
的定义。pylance 只能找到 pyi 的结果。.py 文件里是没有的。如果两个都有的化,它是可以跳转到 .py 文件的定义的。
BaseManger
的派生类是可以通过BaseManger.from_queryset
动态生成的,其中的方法也是通过BaseManager._get_queryset_methods
动态创建的。这些类跟方法的定义在 .py 里都是不存在的。pylance 通过 pyi 为这些动态定义的方法写了声明,从而可以支持输入补全、参数提示、静态类型检查等等功能。