PyCharm 2020.3 ヘルプ

インスペクションの無効化と有効化

いくつかのインスペクションは現在見たくない問題を報告するかもしれません。この場合、無効にしたり抑制したりできます。

インスペクションを使用不可にすると、無効になります。これは、このインスペクションが検出するように設計されているという問題について、コード分析エンジンがプロジェクトファイルの検索を停止することを意味します。インスペクションを無効にすると、現在のインスペクションプロファイルで無効になります。他のプロファイルでは有効のままです。

特定の種類のファイルのインスペクションを部分的に無効にするには、スコープ設定を使用します。

インスペクションを無効にする

設定でインスペクションを無効にする

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションを選択します。

  2. 無効にするインスペクションを見つけて、その横にあるチェックボックスをオフにします。

  3. 変更を適用し、ダイアログを閉じます。

すぐに直接エディターで引き起こされたインスペクションを無効にすることができます。

エディターでインスペクションを無効にする

  1. ハイライトされた行にキャレットを置き、Alt+Enter を押します(または the Intention action icon をクリックしてインテンションアクションを使用します)。

  2. 無効にするインスペクションの横の矢印をクリックし、インスペクションを無効にするを選択します。

結果ツールウィンドウでインスペクションを無効にする

  1. インスペクションツールウィンドウ(コード解析の実行後)で、無効にするインスペクションを右クリックしてインスペクションを無効にするを選択します。

  2. 無効になったインスペクションアラートを非表示にするには、the Filter resolved items icon をクリックします。

インスペクションの抑止

インスペクションを抑止すると、コード分析エンジンは、特定のコード(クラス、メソッド、フィールド、またはステートメント)でこのインスペクションによって検出された問題をハイライトしません。現在のクラスのすべてのインスペクションを抑制することもできます。

エディターでインスペクションを抑制する

  1. ハイライトされた行にキャレットを置き、Alt+Enter を押します(または the Intention action icon をクリックしてインテンションアクションを使用します)。

  2. 抑制するインスペクションの横にある矢印をクリックし、必要な抑制アクションを選択します。

    Suppressing an inspection in the editor
  3. PyCharm は、対応するコードに特別なコメントを追加します。

    Suppressing comment

    インスペクションなしのコメントをさらに見る。

    または、noqa コメントを使用して、個々のインスペクションを抑制できます。

    NOQA suppressing comment

    コメント行では、flake8 エラーコード(英語)および pycodestyle.py エラーコード(英語)を指定できます。

結果ツールウィンドウでインスペクションを非表示にする

  • インスペクションツールウィンドウ(コード解析実行後)で、抑制したいインスペクションを右クリックし、必要な抑制アクションを選択します。

    Suppressing inspection in the Inspection Results tool window

    報告された問題はタイプごとにグループ化されているため、同じタイプのすべてのインスペクションを評価して抑制することができます。

ファイルのハイライトレベルを変更する

  • デフォルトでは、PyCharm は検出されたすべてのコード問題をハイライトします。エディターの右上隅にあるウィジェットの上にマウスを置いて、ハイライトリストから別のレベルを選択します。

    • なし: ハイライトをオフにします。

    • 構文 : 構文上の問題のみをハイライトします。

    • すべての問題 : (デフォルト)構文の問題とインスペクションで見つかった問題をハイライトします。

    Changing highlighting level for a file
  • メインメニューからハイライトレベルを変更することもできます。コード | 現在のファイルに対する解析を構成を選択します。

コメントを抑制する

  • #noinspection PyPep8

  • #noinspection PyPep8Naming

  • #noinspection PyTypeChecker

  • #noinspection PyAbstractClass

  • #noinspection PyArgumentEqualDefault

  • #noinspection PyArgumentList

  • #noinspection PyAssignmentToLoopOrWithParameter

  • #noinspection PyAttributeOutsideInit

  • #noinspection PyAugmentAssignment

  • #noinspection PyBroadException

  • #noinspection PyByteLiteral

  • #noinspection PyCallByClass

  • #noinspection PyChainedComparsons

  • #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 PythonAsciiChar

  • #noinspection PyNoneFunctionAssignment

  • #noinspection PyOldStyleClasses

  • #noinspection PyPackageRequirements

  • #noinspection PyPropertyAccess

  • #noinspection PyPropertyDefinition

  • #noinspection PyProtectedMember

  • #noinspection PyRaisingNewStyleClass

  • #noinspection PyRedeclaration

  • #noinspection PyRedundantParentheses

  • #noinspection PySetFunctionToLiteral

  • #noinspection PySimplifyBooleanCheck

  • #noinspection PySingleQuotedDocstring

  • #noinspection PyStatementEffect

  • #noinspection PyStringException

  • #noinspection PyStringFormat

  • #noinspection PySuperArguments

  • #noinspection PyTrailingSemicolon

  • #noinspection PyTupleAssignmentBalance

  • #noinspection PyTupleItemAssignment

  • #noinspection PyUnboundLocalVariable

  • #noinspection PyUnnecessaryBackslash

  • #noinspection PyUnreachableCode

  • #noinspection PyUnresolvedReferences

  • #noinspection PyUnusedLocal

  • #noinspection ReturnValueFromInit

  • #noinspection PyAsyncCall

  • #noinspection PyTestParametrized

  • #noinspection SpellCheckingInspection

関連ページ:

スコープ

スコープは、プロジェクト内のファイル、パッケージ、ディレクトリのサブセットであり、特定の操作(検索、コードインスペクションなど)の適用を制限できます。さらに、各スコープの色を設定して、一度はどんな種類のファイルを扱っているか。プロジェクトが大きくなるにつれて、スコープはさらに役立ちます。基本的なケースをカバーするいくつかの定義済みスコープがあります。さらに、プロジェクトにカスタムスコープを追加することも可能です。例: テスト用またはチーム内で担当しているファイル用にカスタムスコープを作成できます...

インスペクションの重大度の構成

インスペクションの重大度は、検出されたコードの問題がプロジェクトにどれほど深刻な影響を及ぼすかを示します。すべての重要度レベルには、独自のハイライトスタイルがあります。PyCharm には、事前定義された重大度レベルのセットがあります。エラー: 構文エラーをマークします。警告: バグを生成したり、機能拡張を必要とする可能性のあるコードフラグメントをマークします。弱い警告: 改善または最適化できるコードフラグメントをマークします(冗長コード、重複したコードフラグメントなど)。サーバーの問題: 外部...

カスタムインスペクションの作成

カスタムインスペクションを作成するには、検索を構成してテンプレートを置き換える必要があります。IDE はテンプレートに一致するコードを検索し、それをエディターでハイライトします。設定 / 環境設定ダイアログで、に移動します。新しいインスペクションを作成するプロファイルを選択します。ツールバーでクリックし、インスペクションだけでコードをハイライトする場合は検索テンプレートを追加を選択します。インスペクションでコード文字列をハイライトして修正を提案する場合は置換テンプレートを追加を選択します。テ...