VSCode Python 自动完成仅在某些 类 上不起作用
VSCode Python autocompletion not working on some classes only
在我的 python 项目的 VSCode 中使用自动完成功能时,它工作得很好,除了一个 class,我不明白为什么。
class 来自模块 database
,该模块总共包含 3 个 class:DatabaseClient
、Database
、Collection
DatabaseClient
有一个 get_database()
方法,它 returns 一个 Database
对象。
Database
有一个 get_collection()
方法,它 returns 一个 Collection
对象。
Collection
有几种方法。
自动完成在 DatabaseClient
和 Database
对象上按预期工作,但在 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:
在我的 python 项目的 VSCode 中使用自动完成功能时,它工作得很好,除了一个 class,我不明白为什么。
class 来自模块 database
,该模块总共包含 3 个 class:DatabaseClient
、Database
、Collection
DatabaseClient
有一个 get_database()
方法,它 returns 一个 Database
对象。
Database
有一个 get_collection()
方法,它 returns 一个 Collection
对象。
Collection
有几种方法。
自动完成在 DatabaseClient
和 Database
对象上按预期工作,但在 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: