尽管我在字典的结构中使用类型提示,但是VSCode的Microsoft的intellisense引擎似乎无法识别字典中的类。
例如,这不起作用:
class MyClass():
def myf(self, methods):
foo = "bar"
return foo
mystring: str
mydict: Dict[str: MyClass] = {}
# mydict[mystring]. # <--- after typing the point ".", I expected hints from intellisense.
# mydict[mystring].myf( # <--- after typing the open "(", I expected function hints
# mydict[mystring].myf() # <--- pressing f12 when cursor is on "myf", I expected to jump to the definition of the function
我的期望都没有得到满足。 难道我做错了什么? 这是Microsft的智能感知(语言服务器或Jedi)根本不支持的东西吗?
答案 0 :(得分:0)
它不像我想的那样开箱即用
答案 1 :(得分:0)
我 am 获得所有指示的自动完成和F12行为。 (VSCode版本1.40,Python扩展版本2019.10.44104,MPLS版本0.4.114.0),而没有第三方扩展。
每个this评论供参考,
我们使用类型提示来帮助提供自动完成/ IntelliSense,而不是 针对类型提示的检测/错误检测。对于后者,您应该 安装mypy。
Microsoft Python语言服务器(MPLS)似乎支持Intellisense的类型提示。确实需要通过将python.jediEnabled
设置为False
来手动启用它。 (他们正在努力将"next few releases"中的默认LS切换到MPLS)。
也许您正面临着一些自MPLS已解决的问题?