Pycharm的代码风格检查:忽略/关闭特定规则

Posted

技术标签:

【中文标题】Pycharm的代码风格检查:忽略/关闭特定规则【英文标题】:Pycharm's code style inspection: ignore/switch off specific rules 【发布时间】:2015-04-10 06:52:54 【问题描述】:

我正在尝试将现有项目导入 PyCharm。我可以重构代码以便 PyCharm 满意,但我们希望在字典中的冒号周围有空格,例如:"A" : "B"。我们也喜欢对齐作业:

a   = 1
abc = 3

有没有办法配置 PyCharm,以便他忽略与此特定内容相关的所有错误/警告?

【问题讨论】:

【参考方案1】:

要在字典中的冒号周围有空格,请配置 Settings > Editor > Python Spaces

Other > Before ':'

Other > After ':'

【讨论】:

我忘了提:选项“之前”:“”也影响函数定义,例如def foo() :.【参考方案2】:

@Krzysztof Stanisławek,函数不同,因为 Pycharm 遵循 PEP8 编码风格,所以建议函数变量和“:”之间不要有空格,如果你不想这样,你可以通过

"Settings"-> "Editor"-> "Inspections"->"PEP8 coding style violation"

但是,不建议这样做。

【讨论】:

更多的问题是自动格式化。我可以将我的代码重新格式化为a: b, c: d,而不是首选a : b, c : d,或者def foo(self) :。问题是格式化程序在两种情况下都将: 视为相同,这些情况没有单独的选项。我不认为有什么办法(看起来Pycharm缺少我需要的功能),所以我想我会说服我的队友将我们的dicts样式更改为a: b,或者使用简单的正则表达式来格式化:在方法括号的末尾。 发现这个关于禁用特定 PEP8 指南的信息:iambigblind.blogspot.de/2013/02/…【参考方案3】:

如果您可以忽略所有匹配问题,只需按 Alt-Enter(或单击灯泡)并选择“禁用检查”。节省您进入设置并尝试找出匹配的检查规则。

来自http://iambigblind.blogspot.jp/2013/02/configuring-pep8py-support-in-pycharm-27.html

【讨论】:

【参考方案4】:

使用 PyCharm 5(社区版),您可以执行以下操作:Code –> Inspect Code。然后选择所需的检查错误,然后单击右侧的“抑制”选项或“忽略此类错误”选项。 请看下面的截图:

当您选择“Suppress”选项时,它会添加如下截图所示的注释:

可以在语句或函数/方法级别进行抑制。如果试图抑制函数的参数,则抑制仅在函数级别起作用(这意味着它还会抑制该函数中可能存在的其他名称引用违规)。

您还可以选择完全关闭“PEP8 编码风格违规”(通过勾选下面显示的框),或手动明确管理“忽略错误”。截图如下:

一般来说,您或许应该质疑为什么要禁止 PEP8 指南。但是,有时它似乎是必要的,例如在使用 pytest 模块时,需要隐藏变量等,这是 PEP8 检查所抱怨的。在这种情况下,PyCharm 中的此功能非常有用。

【讨论】:

请注意,Suppress 会修改源代码(因此您项目中的其他开发人员不会看到警告),而 Ignore 会仅为您的机器关闭它们(本地检查配置文件);具有不同配置文件的其他开发者仍会看到警告。 如果您想像上一个屏幕截图那样明确停用某些错误。以下是 PEP8 错误代码列表:pep8.readthedocs.io/en/release-1.7.x/intro.html#error-codes 您实际上在忽略错误列表中添加了什么?我找不到示例。 @ThatAintWorking 查看我发布的链接。有一个带有错误 ID 的列表。只需将您不喜欢的添加到框中即可。例如。 E701【参考方案5】:

我遇到了同样的问题,@fantabolous 指出了巧妙的解决方案,来自configuring PEP8.py support in PyCharm 2.7

之前的示例

手动添加错误代码或在错误突出显示时使用“Alt+Enter” 可以找到错误码here

改动后

最好选择一些规则而不是禁用 PEP8 的所有警告。感谢之前的cmets。

【讨论】:

以上是关于Pycharm的代码风格检查:忽略/关闭特定规则的主要内容,如果未能解决你的问题,请参考以下文章

PythonStudy——PyCharm 选择性忽略PEP8代码风格警告信息

Pycharm之关闭拼写检查警告

PyCharm选择性忽略PEP8代码风格警告信息

PyCharm选择性忽略PEP8代码风格警告信息

pycharm意外实参怎么修复

pycharm unused import statement 是啥原因?