禁用和启用检查
有些检查可能会报告您当前不希望看到的问题。 在这种情况下,您可以禁用或抑制它们。
禁用检查
当您 禁用检查时,您将其关闭。 这意味着代码分析引擎将停止在项目文件中搜索此检查旨在检测的问题。 请注意,当您禁用某个检查时,您是在当前检查配置文件中禁用它;它在其他配置文件中仍然是启用的。
要部分禁用特定类型文件的检查,请使用 范围设置。
在 PyCharm 中,大多数检查都可以禁用。 但是,一些检查将会不管设置如何继续高亮显示您的代码。 例如,语法错误始终会被高亮显示。
在设置中禁用检查
按下 Ctrl+Alt+S 打开设置,然后选择 。
找到您想要禁用的检查,并清除其旁边的复选框。
应用更改并关闭对话框。
您可以使用上下文操作直接在编辑器中快速禁用触发的检查。
从编辑器禁用检查
将插入符号放在高亮行上,然后按 Alt+Enter (或点击
)以调用可用上下文操作列表。
点击
检查旁边的按钮,然后选择 禁用检查。
从问题工具窗口禁用检查
在 检查结果 选项卡的 问题 工具窗口中(在您运行代码分析后显示),右键点击您想要禁用的检查并选择 禁用检查。
点击工具栏上的
按钮,然后选择 筛选已解决的项目 以隐藏已禁用检查的警报。
重新启用检查
按下 Ctrl+Alt+S 打开设置,然后选择 。
您也可以按下 Ctrl+Alt+Shift+H 并选择 配置检查。
在列表中找到已禁用的检查并选中其旁边的复选框。
修改后的检查项以蓝色显示。 您还可以点击
并选择 仅显示已修改的检查 来仅显示设置已更改的检查。
点击 确定 以应用更改。
禁止检查
当您 抑制检查时,代码分析引擎不会在特定代码片段(类、方法、字段或语句)中高亮显示此检查发现的问题。 您还可以在当前类中禁用所有检查。
在 PyCharm 中,大多数检查可以被抑制。 然而,有些检查没有此选项。 例如,语法错误始终会在编辑器中高亮显示,无论设置如何。
禁止从编辑器中检查
将文本光标放置在高亮行并按 Alt+Enter (或点击
使用意图操作)。
点击您想要抑制的检查旁边的
按钮,并根据所需作用域选择一个操作。

PyCharm 会为相应的代码片段添加一个特殊注释。

查看更多 noinspection 注释。
或者,您可以使用
noqa注释来抑制单个检查。
在注释行中,您可以指定 flake8 错误代码 和 pycodestyle.py 错误代码。
从问题工具窗口抑制检查
在 检查结果 选项卡中的 问题 工具窗口(运行代码分析后出现),右键点击您要抑制的检查并选择所需的抑制操作。

报告的问题按类型分组,因此您可以评估并抑制所有相同类型的检查。
禁用突出显示,但保留修复
检查具有 严重性 ,根据这些严重性,它们在编辑器中突出显示代码问题。 您可以在不打开设置的情况下快速禁用检查的代码高亮显示。 在这种情况下,检查保持启用并提供修复,但严重性会更改为 无高亮显示(修复可用)。
将文本光标放置在编辑器中由检查突出显示的代码元素处,然后按 Alt+Enter。
会打开一个可用修复和上下文操作的列表。 找到标记为
的检查修复。点击修复旁边的
按钮以打开检查选项并选择 禁用高亮显示,保留修正。

检查选项上方写有您正在更改严重性的检查名称。
如果您想恢复高亮,请按 Ctrl+Alt+S 打开 IDE 设置并选择 。 在列表中找到所需的检查并根据需要更改其严重性。 如需更多信息,请参阅 更改所有作用域内的检查严重性。
更改文件的高亮级别
默认情况下,PyCharm 会突出显示所有检测到的代码问题。 将鼠标悬停在编辑器右上角的小部件上,然后从 高亮显示 列表中选择另一级别:
无 :关闭高亮显示。
语法 :仅突出语法问题。
所有问题 :(默认)突出显示语法问题和检查发现的问题。
您还可以从主菜单中更改突出显示级别。 请选择 。
抑制注释
# noinspection DuplicatedCode
# noinspection PyAbstractClass
# noinspection PyArgumentEqualDefault
# noinspection PyArgumentList
# noinspection PyAssignmentToLoopOrWithParameter
# noinspection PyAsyncCall
# noinspection PyAttributeOutsideInit
# noinspection PyAugmentAssignment
# noinspection PyBroadException
# noinspection PyByteLiteral
# noinspection PyCallByClass
# noinspection PyChainedComparisons
# noinspection PyClassHasNoInit
# noinspection PyClassicStyleClass
# noinspection PyComparisonWithNone
# noinspection PyCompatibility
# noinspection PyDecorator
# noinspection PyDefaultArgument
# noinspection PyDictCreation
# noinspection PyDictDuplicateKeys
# noinspection PyDocstringTypes
# noinspection PyExceptClausesOrder
# noinspection PyExceptionInheritance
# noinspection PyFromFutureImport
# noinspection PyGlobalUndefined
# noinspection PyIncorrectDocstring
# noinspection PyInitNewSignature
# noinspection PyInterpreter
# noinspection PyListCreation
# noinspection PyMandatoryEncoding
# noinspection PyMethodFirstArgAssignment
# noinspection PyMethodMayBeStatic
# noinspection PyMethodOverriding
# noinspection PyMethodParameters
# noinspection PyMissingConstructor
# noinspection PyMissingOrEmptyDocstring
# noinspection PyNestedDecorators
# noinspection PyNoneFunctionAssignment
# noinspection PyOldStyleClasses
# noinspection PyPackageRequirements
# noinspection PyPep8
# noinspection PyPep8Naming
# noinspection PyPropertyAccess
# noinspection PyPropertyDefinition
# noinspection PyProtectedMember
# noinspection PyRaisingNewStyleClass
# noinspection PyRedeclaration
# noinspection PyRedundantParentheses
# noinspection PySetFunctionToLiteral
# noinspection PyShadowingNames
# noinspection PySimplifyBooleanCheck
# noinspection PySingleQuotedDocstring
# noinspection PyStatementEffect
# noinspection PyStringException
# noinspection PyStringFormat
# noinspection PySuperArguments
# noinspection PyTestParametrized
# noinspection PythonAsciiChar
# noinspection PyTrailingSemicolon
# noinspection PyTupleAssignmentBalance
# noinspection PyTupleItemAssignment
# noinspection PyTypeChecker
# noinspection PyUnboundLocalVariable
# noinspection PyUnnecessaryBackslash
# noinspection PyUnreachableCode
# noinspection PyUnresolvedReferences
# noinspection PyUnusedLocal
# noinspection ReturnValueFromInit
# noinspection SpellCheckingInspection