我最近从PyCharm切换到VSCode进行Python编程,并且正在使用Microsoft自己的VSCode Python扩展。虽然大多数扩展程序的自动完成功能对我来说都很有效,但其中一些结果是不需要的。
例如,如果我上一节课并写def
,则在自动完成弹出窗口中会有几种可能。我选择类方法,编辑器将自动完成以下操作:
def funcname(self, parameter_list):
pass
这很棒,并且还可以使用TAB键在funcname
,parameter_list
和pass
之间移动。
但是如果我改写一个方法,写例如def __ini
,我可以选择自动完成__init__
,选择此选项将导致:
def __init__(self, *args, **kwargs):
return super().__init__(*args, **kwargs)
通常,我不想从__init__
返回任何信息(实际上,甚至更一般地说,我通常也不想返回超类的方法的结果)。此外,此自动完成模板的缩进使用单个空格而不是制表符,如果我不手动修复它,现在会导致缩进错误(这会破坏自动完成的目的)。
除了自动填充参数列表外,我希望第二个自动完成功能可以像第一个一样完成。
我的问题是,这些自动完成模板在哪里定义,如何编辑它们?
答案 0 :(得分:1)
我认为您正在寻找的是用户定义的代码段。下面的链接提供了有关制作方法的指南,您也可以在相同的首选项区域中对其进行编辑,包括制表符和适用代码段的范围。
https://code.visualstudio.com/docs/editor/userdefinedsnippets