我正在使用Eclipse和Pydev编辑我的Python源代码。
我希望记录所有函数,并在尚未实现函数时引发“未实现”异常。
例如,当我输入:
def foo(bar1,bar2):
在输入时,我希望自动完成:
def foo(bar1,bar2):
'''
function foo
@param bar1:
@type:
@param bar2:
@type
'''
raise NotImplementedError("")
Pydev或Eclipse中是否已有选项可以执行此操作?如果没有,是否有一个单独的Python模块或脚本可以正确地执行它?
答案 0 :(得分:7)
目前,可以生成文档。
即:在'def'行中,按Ctrl + 1将显示选项“Generated Docstring”(这些docstring的格式可以在首选项> pydev>编辑器>代码样式>中定义)文档字符串强>)。至于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):
...
这样,如果有人调用您的代码,则消息看起来更好:)
答案 1 :(得分:0)
我不是100%确定如何一次完成所有操作,但可以分两步完成。您需要自定义def模板。 转到Window-> Pydev->编辑器 - >模板。 向下滚动到def,defc和defp并编辑它们。 当您创建新方法时,请先键入def并使用控制空间两次以访问模板。选择适当的模板。 将名称从方法更改为您希望的内容,这也将填充NotImplemented异常。 添加你的参数。 第二步,在离开定义行之前按ctrl 1,这将填写你的文档字符串。
我将defc改为
def ${method}(self):${cursor}
raise NotImplemented('${method}')