【问题标题】:PyCharm: how to disable Missing docstring inspection locallyPyCharm:如何在本地禁用缺少文档字符串检查
【发布时间】:2019-09-11 00:52:53
【问题描述】:

问题

我在 Python 类中有一个方法,我使用 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:灯泡 --> 抑制选项

我看了这个答案:https://stackoverflow.com/a/51148355/11163122

还记录在 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

【问题讨论】:

    标签: python pycharm static-analysis pylint code-inspection


    【解决方案1】:

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

    您可以单击灯泡并选择“为此类禁用”或手动添加:

    # 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)
    

    【讨论】:

    • 我刚刚更新了@Grismar 的问题。我发现了两件事:1. 添加noinspection 评论不起作用(请参阅更新的问题)。 2. 灯泡对我来说没有那个选项。有什么方法可以让检查令人耳目一新吗?
    • 您能否分享更多代码,或者分享一些构成完整示例的代码,以显示您在设置中描述的行为?我可以告诉你“它在我这边显示的选项很好”,但这不是很有帮助,但是不知道在什么情况下你会遇到这个问题,这是不可能的。
    • 好的@Grismar。我相信你。我想知道,你有 PyCharm Pro 吗?我新建了一个 PyCharm 项目,制作了测试代码,全部放在这里。你还有其他建议吗?我用新的代码/图像完全更新了问题。
    • 感谢更新示例,我试过了,遇到了同样的问题,并通过将 noinspection 移动到声明之前来修复它,请参阅更新后的示例。顺便说一句,我确实有 Pro,但 Community 和 Pro 几乎相同,我能够在同事的 Community 版本上确认这同样适用。
    • 非常感谢您的多次帮助!那成功了:)。像你这样的人让 Stack Overflow 变得很棒!
    猜你喜欢
    • 2021-11-22
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2014-09-25
    相关资源
    最近更新 更多