VS Code Python扩展自动完成模板

时间:2019-03-06 14:44:11

标签: python autocomplete visual-studio-code

我最近从PyCharm切换到VSCode进行Python编程,并且正在使用Microsoft自己的VSCode Python扩展。虽然大多数扩展程序的自动完成功能对我来说都很有效,但其中一些结果是不需要的。

例如,如果我上一节课并写def,则在自动完成弹出窗口中会有几种可能。我选择类方法,编辑器将自动完成以下操作:

def funcname(self, parameter_list):
    pass

这很棒,并且还可以使用TAB键在funcnameparameter_listpass之间移动。

但是如果我改写一个方法,写例如def __ini,我可以选择自动完成__init__,选择此选项将导致:

def __init__(self, *args, **kwargs):
 return super().__init__(*args, **kwargs)

通常,我不想从__init__返回任何信息(实际上,甚至更一般地说,我通常也不想返回超类的方法的结果)。此外,此自动完成模板的缩进使用单个空格而不是制表符,如果我不手动修复它,现在会导致缩进错误(这会破坏自动完成的目的)。

除了自动填充参数列表外,我希望第二个自动完成功能可以像第一个一样完成。

我的问题是,这些自动完成模板在哪里定义,如何编辑它们?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是用户定义的代码段。下面的链接提供了有关制作方法的指南,您也可以在相同的首选项区域中对其进行编辑,包括制表符和适用代码段的范围。

https://code.visualstudio.com/docs/editor/userdefinedsnippets