在 Eclipse 和 Pydev 中预填充新函数"Not Implemented"文档字符串和异常



我正在用Eclipse和Pydev编辑我的Python源代码。

我想记录我的所有函数,并在函数尚未实现时引发"未实现"异常。

例如,当我键入:时

def foo(bar1,bar2):

进入时,我希望它自动完成到:

def foo(bar1,bar2):
'''
function foo
@param bar1:
@type: 
@param bar2:
@type
'''
raise NotImplementedError("")

Pydev或Eclipse中是否已经有这样的选项?如果没有,是否有一个单独的Python模块或脚本可以正确地执行此操作?

目前,文档已经可以生成了。

即:在"def"行中,按Ctrl+1将显示一个选项"Generated Docstring"(这些文档字符串的格式可以在preferences>pydev>editor>code-style>docstrings中定义)。

至于raise NotImplementedError(""),目前还没有办法自动添加。

就我个人而言,我使用的是一个"抽象"装饰器,例如:

def abstract(func):
def wrapper(self, *args, **kwargs):
    msg = 'Method %r not implemented in class %r.' % (func.__name__, self.__class__)
    raise NotImplementedError(msg)
wrapper.__name__ = func.__name__
wrapper.__doc__ = func.__doc__
return wrapper

然后使用:

@abstract
def my_func(xxx, yyy):
    ...

这样,如果有人调用您的代码,消息看起来会更好:)

我不能100%确定如何一次完成所有操作,但可以通过两个步骤完成。你需要自定义你的def模板。转到窗口->Pydev->编辑器->模板。向下滚动到def、defc和defp并编辑它们。当您创建一个新方法时,开始键入def,并使用控制空间两次来获取模板。选择适当的模板。将方法的名称更改为您想要的名称,这也将填充NotImplemented异常。添加您的论点。第二步,在离开定义行之前,按ctrl1,这将填充您的文档字符串。

我将defc更改为

def ${method}(self):${cursor}
    raise NotImplemented('${method}')

相关内容

最新更新