禁用与启用检查
某些检查可能会报告您当前不想查看的问题。 在这种情况下,您可以禁用或抑制它们。
禁用检查
当您 禁用某个检查时,您会将其关闭。 这意味着代码分析引擎将不再在项目文件中搜索此检查旨在检测的问题。 请注意,当您禁用某个检查时,只会在当前检查配置文件中将其禁用;在其他配置文件中仍保持启用。
要对特定类型的文件部分禁用某个检查,请使用 范围设置。
在 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