我想向PyCharm添加类型提示,但如果我使用cached_property
而不是property
,则PyCharm不会检测返回类型。
class MyClass(object):
#@cached_property # does not work
@property # works
def foo_client(self):
'''
@rtype foo.Client
'''
return client_getter(...)
用法:
my_class = MyClass()
my_class.foo_client.HERE_I_WANT_AUTOCOMPLETE
我使用cached-property==1.1.0
和PyCharm 4.5。
答案 0 :(得分:1)
由于您正在使用EAP版本,因此该问题可能有多种解决方案。
恢复旧的PyCharm。 EAP构建存在问题,并且通常会出现旧功能问题。实际上可能就是这种情况,因为PyCharm正在尝试添加对类型提示的支持(Python 3.5),因此您可能会遇到代码完成问题。
您编写存根的格式称为Epytype,几乎从不在任何地方使用,因此通常无法正常工作。我建议改用reStructuredText。只需将文档格式从“Eypdoc / Epytype”更改为Python Integrated Tools中的reStructuredText>文档字符串。这很可能会解决问题。
如果第1点和第2点失败。那么这是一个真正的错误,我建议您在youtrack.jetbrains报告。