VSCode Python 自动完成仅在某些 类 上不起作用

VSCode Python autocompletion not working on some classes only

在我的 python 项目的 VSCode 中使用自动完成功能时,它工作得很好,除了一个 class,我不明白为什么。

class 来自模块 database,该模块总共包含 3 个 class:DatabaseClientDatabaseCollection

DatabaseClient 有一个 get_database() 方法,它 returns 一个 Database 对象。
Database 有一个 get_collection() 方法,它 returns 一个 Collection 对象。
Collection 有几种方法。

自动完成在 DatabaseClientDatabase 对象上按预期工作,但在 Collection 对象上根本不起作用。

下面的代码有效并给出了预期的结果(屏幕截图结果的第 15 行和第 20 行匹配),但不是如上所述的编辑时的自动完成。

import lib.database as database

print( database.DatabaseClient().get_database('business').get_collection('reviews').find() )

client = database.DatabaseClient()
db = client.get_database(client.list_database_names()[0])
coll = db.get_collection(db.list_collection_names()[0])
print(coll.find())

已尝试重新加载 VSCode、卸载并重新加载 python 扩展。
尝试卸载并重新安装 python 扩展。
试图更改我的模块的名称。
试图更改 class.
的名称 试图更改 Collection class.
的方法名称 尝试使用单行命令行 3 并注意到它以这种方式工作。

找到解决方案。 问题来自未在方法 headers 中使用键入。 一旦我添加了正确的输入,自动完成就可以按预期在所有地方工作。

def get_database(self, database_name: str) -> Database:
def get_collection(self, collection_name: str) -> Collection: