Python:Intellisense不';无法为模块中的对象工作

Python:Intellisense不';无法为模块中的对象工作,python,visual-studio-code,intellisense,Python,Visual Studio Code,Intellisense,我有以下Python代码,它使用tweepy模块与Twitter交互。下面的代码工作得非常好。它通过@name(在本例中为testuser)从Twitter获取用户,然后打印其显示名称 import tweepy ... # Initialization of the keys and tokens used below auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS

我有以下Python代码,它使用
tweepy
模块与Twitter交互。下面的代码工作得非常好。它通过@name(在本例中为
testuser
)从Twitter获取用户,然后打印其显示名称

import tweepy

... # Initialization of the keys and tokens used below

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

api = tweepy.API(auth)

user = api.get_user("ThePSF")
print(user.name)
输出与预期一样:

Python Software
问题在于,VS Code中的Intellisense(autopep8)没有为用户提供属性和方法,如名称说明位置

但是Intellisense建议我使用
api
的属性和方法,尽管我不知道为什么它适用于该属性和方法,而不适用于
用户
对象

我已经查找了这个Github问题页面,但没有找到 解决方案



我做错了什么,以至于它没有向我显示
用户
对象的Intellisense?你很可能没有做错什么,tweepy的结构只是以一种抑制Intellisense的方式。一定要确定这是否适合您。

我在新安装的windows和visual studio代码上运行时遇到了相同的问题

我尝试了新的语言服务器,它工作了。该扩展现在可以作为预览使用,所以它可能不是百分之百稳定的,但在使用了一天之后,我没有遇到任何问题。从这一点来看,这将是未来首选的语言服务器

我们的长期计划是将我们的Microsoft Python语言服务器用户转移到Pylance,并最终将旧的语言服务器作为受支持的选项弃用和删除

安装Pylance扩展,并在出现提示时单击yes将其设置为语言服务器。您也可以在
settings.json

"python.languageServer": "Pylance"

现在它向我展示了更多的建议,但仍然不是我想要的建议(
name
description
location
等等)。为什么特威比想要抑制智能感知?你没有从我上面提到的Github问题中得到什么吗?并不是tweepy不想使用IntelliSense,只是这些属性可能是通过
\uuuu getattr\uuuu
或其他方式动态生成的,在这种情况下,无法推断对象的潜在属性是什么。您可以尝试在打开一个问题,但一定要在您希望IntellISense的对象上运行
dir()
,以查看Python是否看到了您要查找的属性。好的,当我在我的
user
对象上运行
dir()
时,我会返回83个名称,这很好。但是为什么tweepy会动态生成它们呢?他们不是一直在那里吗?或者这是Python语言服务器的问题?Python足够灵活,不需要提前定义属性,所以它们不一定存在。请按照我的建议为Microsoft语言服务器提交一个bug。