PyCharm: 如何在本地禁用 Missing docstring 检查

PyCharm: how to disable Missing docstring inspection locally

问题

我在 Python class 中有一个方法,我使用 functools.wraps 分配文档字符串。这是我使用的确切代码:

facade.py

#!/usr/bin/env python3

"""Facade."""


from functools import wraps

import back_end


@wraps(back_end.some_method)
def renamed_method(str_to_print):  # noinspection PyMissingOrEmptyDocstring
    back_end.some_method(str_to_print)

back_end.py

#!/usr/bin/env python3


"""Back End."""


def some_method(some_str: str) -> None:
    """Prints out a string.

    Args:
        some_str: A string to print

    """
    print(some_str)

PyCharm 检查警告 Missing docstring 方法 renamed_method。这就是我这边的样子:

我在同一行添加了 # pylint: disable=C0111,但并没有使警告消失。

我怎样才能让这个警告消失?我不想取消选中全局检查。


我试过的

仅供参考,我使用 PyCharm CE 2018.3.7。我也刚刚更新到 PyCharm CE 2019.2.2 并得到了相同的结果。我使用默认设置,我唯一更改的是使用 Google 文档字符串格式并检查 Python.

的所有检查选项

#1:灯泡 --> 抑制选项

我看了这个答案:

也记录在 PyCharm 的网站 here

而且我没有得到它承诺的抑制选项。

#2: 无验货评论

我也尝试过:# noinspection PyMissingOrEmptyDocstring(完整列表 here)。这是完整的尝试:

@wraps(back_end.some_method)
def renamed_method(str_to_print):  # noinspection PyMissingOrEmptyDocstring
    back_end.some_method(str_to_print)

以及我所看到的图像:


一边

为什么要使用 functools.wraps 装饰器?参见 facade pattern

PyCharm 允许您禁止(而不是禁用)检查。

您可以点击灯泡和 select 'suppress for this class' 或手动添加:

# noinspection PyMissingOrEmptyDocstring

这里有更多内容https://www.jetbrains.com/help/pycharm/disabling-and-enabling-inspections.html#suppress-inspections

具体到给定的例子,这行不通:

@wraps(back_end.some_method)
def renamed_method(str_to_print):  # noinspection PyMissingOrEmptyDocstring
    back_end.some_method(str_to_print)

但这将:

# noinspection PyMissingOrEmptyDocstring
@wraps(back_end.some_method)
def renamed_method(str_to_print):
    back_end.some_method(str_to_print)