Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Eclipse和Pydev中使用docstring和;“未实施”;例外_Python_Eclipse_Pydev - Fatal编程技术网

Python 在Eclipse和Pydev中使用docstring和;“未实施”;例外

Python 在Eclipse和Pydev中使用docstring和;“未实施”;例外,python,eclipse,pydev,Python,Eclipse,Pydev,我正在用Eclipse和Pydev编辑Python源代码 我想记录我的所有函数,并在函数尚未实现时引发“未实现”异常 例如,当我键入: def foo(bar1,bar2): 输入时,我希望它自动完成: def foo(bar1,bar2): ''' function foo @param bar1: @type: @param bar2: @type ''' raise NotImplementedError("") Pydev或Eclipse中已经有了这样的选项吗?如果没有,是否有一个

我正在用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将显示一个选项“生成的Docstring”(这些Docstring的格式可以在首选项>pydev>编辑器>代码样式>Docstring中定义)

至于
raisenotimplementederror(“”)
,目前无法自动添加该错误

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

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并使用控制空间两次以访问模板。选择适当的模板。 将名称从method更改为所需的名称,这也将填充NotImplemented异常。 添加你的论点。 第二步,在离开定义行之前按ctrl 1,这将填充您的文档字符串

我把defc改为

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

现在还不清楚你想在这里做什么。你说的“记录我所有的职能”是什么意思?“记录”您计划实现但尚未实现的函数的最佳方法是简单地为该函数编写存根,并将正文保留为
raise NotImplementedError
(可能需要一个docstring来解释函数一旦实现将是什么)