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

41

我正在尝试将现有项目导入到PyCharm中。我可以重构代码以使PyCharm满意,但我们喜欢在字典的冒号周围留有空格,就像这样:{"A" : "B"}。我们也喜欢对齐赋值:

a   = 1
abc = 3

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

5个回答

65
使用PyCharm 5(社区版),您可以执行以下操作:Code –> Inspect Code。 然后选择所需的检查错误,并单击右侧的"Suppress"选项或"Ignore errors like this"选项。 请参阅下面的屏幕截图:

enter image description here

当您选择“抑制”选项时,它会添加一个如下屏幕截图所示的注释:

enter image description here

抑制可以在语句或函数/方法级别进行。如果试图抑制对函数的参数,则抑制仅在函数级别起作用(这意味着它也会抑制该函数中可能存在的其他名称引用违规)。您还可以选择完全关闭“PEP8编码风格违规”(通过选中下面显示的框),或手动明确管理“忽略错误”。如下所示的屏幕截图:

enter image description here

通常情况下,你应该考虑为什么要抑制PEP8指南。然而,有时候似乎是必要的,例如在使用pytest模块时需要屏蔽变量等,而这些会被PEP8检查所抱怨。在这种情况下,PyCharm中的此功能非常有帮助。

请注意,Suppress会修改源代码(以便您的项目中的其他开发人员不会看到警告),而Ignore仅在您的机器上关闭它们(本地检查配置文件);具有不同配置文件的其他开发人员仍将看到警告。 - Phrogz
2
如果您想明确地停用某些错误,就像最后一个截图中那样。这是PEP8错误代码列表:http://pep8.readthedocs.io/en/release-1.7.x/intro.html#error-codes - Rotareti
1
你实际上会将什么放入“忽略错误”列表中?我找不到例子。 - ThatAintWorking
1
@ThatAintWorking请查看我发的链接。那里有一个错误ID列表。只需将您不喜欢的添加到框中。例如 E701 - Rotareti

6

5

@Krzysztof Stanisławek,函数与Pycharm遵循PEP8编码风格不同,因此建议函数变量和“:”之间不要有空格。如果您不想这样做,可以通过禁用它来实现。

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

然而,这并不被推荐使用。

更麻烦的问题是自动格式化器。我可以重新格式化我的代码为{a: b, c: d}而不是首选的{a : b, c : d},或者为def foo(self) :。问题是格式化器在这两种情况下将":"视为相同,没有针对这些情况的单独选项。我认为没有办法(看起来Pycharm缺少我需要的功能),所以我想要么说服我的队友改变我们的字典样式为{a: b},要么使用简单的正则表达式来格式化方法括号末尾的: - Krzysztof Stanisławek
2
发现了有关禁用特定PEP8指南的内容:http://iambigblind.blogspot.de/2013/02/configuring-pep8py-support-in-pycharm-27.html - Dilum Ranatunga

3

我也遇到了同样的问题,@fantabolous指出了一个好方法,可以从在PyCharm 2.7中配置PEP8.py支持找到解决方案。

修改前的示例
Code with multiple space warning

手动或使用“Alt+Enter”在错误高亮显示时添加错误代码
错误代码可在此处找到。
enter image description here

修改后的示例
enter image description here

选择精确的一些规则而不是禁用PEP8的所有警告非常好。感谢之前的评论。


0

为了在字典中冒号周围加上空格,请配置设置>编辑器>PythonSpaces

其他>冒号前

其他>冒号后


我忘了提到:选项“before“:“”也会影响函数定义,例如 def foo() : - Krzysztof Stanisławek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接