VSCode中的python intellisense

时间:2016-10-10 18:17:05

标签: python-2.7 visual-studio-code

如果我有一个python类,其静态方法定义如下:

@staticmethod
def create(Name, parent_property, Description='', Source='', TrueMessage='True', FalseMessage='False'):
    """Simple method for creating Connector.Tags.DiscreteTag items using passed in values."""
    named_value_bag = NamedValueBag()
    if Description:
        named_value_bag.Add('Description', Description)
    if Source:
        named_value_bag.Add('Source', Source)
    if TrueMessage:
        named_value_bag.Add('TrueMessage', TrueMessage)
    if FalseMessage:
        named_value_bag.Add('FalseMessage', FalseMessage)
    try:
        return DiscreteTag(Item.CreateInstance(DiscreteTag.__item_type, Name, named_value_bag, parent_property))
    except Exception, e:
        raise e

Intellisense工作得很好,并向我展示了所有必需和关键字参数。

但是,如果我尝试使它更通用(我通过模板生成类,而不是参数,这实际上是一个类方法,据我所知),并定义这样的方法:

@classmethod
def create(cls, Name, parent_property, Description='', Source='', TrueMessage='True', FalseMessage='False'):
    """Simple method for creating Connector.Tags.DiscreteTag items using passed in values."""
    named_value_bag = NamedValueBag()
    if Description:
        named_value_bag.Add('Description', Description)
    if Source:
        named_value_bag.Add('Source', Source)
    if TrueMessage:
        named_value_bag.Add('TrueMessage', TrueMessage)
    if FalseMessage:
        named_value_bag.Add('FalseMessage', FalseMessage)
    try:
        return cls(Item.CreateInstance(cls.__item_type, Name, named_value_bag, parent_property))
    except Exception, e:
        raise e

然后intellisense只显示MyClass.create(* args,** kwargs),我丢失了实际的参数名称。

这是VSCode的问题,还是我如何定义我的方法?我正在包装第三方API,我正在使用python 2.7,因为这最终会在IronPython上下文中执行。我只是想使用VSCode进行开发,并获得intellisense,语法高亮,pylint等。

0 个答案:

没有答案