我使用Vim和Jedi来编写Python代码,自动完成功能无法使用recordclass
和argparse
包检测到某些成员对象,并提出了过于热切的建议。
考虑这种情况:
from recordclass import recodclass
class Foo(recordclass('Foo', ['bar', 'bar2', 'bar3'])):
def __str__(self):
return 'custom string'
x = Foo()
现在,输入x.
会自动插入x.__str__
,即使bar
,bar2
和bar3
是可能的选项。
类似的事情发生在这里:
from argparse import ArgumentParser
ap = ArgumentParser()
ap.add_argument('-x', '--some-var', type=str)
args = ap.parse_args()
现在,输入args.
插入args._
,即使args.some_var
是有效会员。
我可以让Jedi识别所有成员,或者至少让它不会自动插入“明确”字符(__str__
和_
)吗?