我们最近将我们使用的 Jedi 版本从 0.13.2 升级到了 0.14.0。
以前,我们可以通过尝试访问它的属性来检查一个项目是否Script.completions
是 a 。如果完成是一个属性(或常规属性变量),那么这将引发一个.@property
param
AttributeError
但是,在 0.14.0 版本中,没有AttributeError
为属性提出。
我通过检查此处建议的源来解决此问题,作为类似问题的解决方法:
if (completion.type == "function" and
"@property" in completion.get_line_code(1)):
但这似乎不是一个非常干净的解决方案。
有没有更好的方法来检查完成是否是版本 0.14.0 中的属性?