Qodana 2024.1 ヘルプ

インスペクションレポート

Qodana を使用すると、ローカルまたは Qodana クラウドで、インタラクティブでユーザーフレンドリーな形式でインスペクションレポートを確認できます。

Qodana report UI overview

各レポートには次のタブが含まれています。

レポートの右上隅には、コードカバレッジインスペクションの結果が表示されます。

Qodana report UI overview

実際の問題

このタブを使用すると、最新のインスペクションの結果として見つかった問題を確認できます。

The Actual problems tab

このタブはいくつかの要素で構成されています。

  1. サンバーストダイアグラムは問題の概要をグラフィカルに示し、問題の原因を掘り下げることができます。

  2. フィルターのグループを使用すると、さまざまな基準を使用してレポートデータをフィルターできます。

  3. 問題とファイルのリスト間を移動したり、問題を検索したりグループ化したりすることができます。

  4. 選択したものをベースラインに移動ボタンは、選択した問題をベースラインリストに保存します。

  5. リスト内の問題をクリックすると、詳細な説明を含む基礎となるコード部分が展開されます。

  6. JetBrains Toolbox および JetBrains IDE がインストールされている場合は、IDE を使用して問題を含むファイルを編集できます。これを行うには、ドロップダウンリストから IDE を選択し、ファイルを開く ... ボタンをクリックします。

    同じ IDE の複数のバージョンがある場合は、ファイルを開くためにどのバージョンを使用するかを選択できます。JetBrains Toolbox UI で、Windows または Linux の Ctrl + Shift + ↑ / ↓ショートカット、macOS の⌘ + ⇧ + ↑ / ↓ショートカットを使用して、IDE の必要なバージョンをリストの先頭にドラッグまたは移動します。

    その他のアクションリストには、問題を処理するための他のオプションが用意されています。分析範囲を調整するセクションを参照してください。

  7. 問題へのリンクをコピーし、Qodana クラウドでその問題に移動できます。

ベースライン

実際の問題」タブの「選択したものをベースラインに移動」ボタンをクリックすると、選択した問題がこのタブに移動します。

このタブは実際の問題タブに似ています。将来のインスペクションのベースライン機能を有効にするには、レポート UI に表示される指示に従います。詳細については、ベースラインセクションを参照してください。

構成

構成タブにはインスペクションがリストされ、Qodana が次回の実行で使用するインスペクションのセットを指定することで、インスペクションプロファイルを調整できます。

The Configuration tab

ここでは、各インスペクションの機能と、それを有効または無効にすることができます。今後この構成を使用するには、qodana.yaml ファイルをダウンロードしてプロジェクトのルートディレクトリに保存します。

ベストプラクティスについては、「インスペクションプロファイルを調整する」セクションを参照してください。

ライセンス監査

ライセンス監査タブには、ライセンス監査機能によるインスペクションの結果が表示されます。

The dependency tree

ライセンス監査インスペクションの結果は、依存関係ツリーにグループ化されます。

  1. 該当する場合は、特定の依存関係を展開して、その依存関係ツリーを表示できます。

  2. 警告のみを使用すると、すべてのプロジェクトの依存関係と、プロジェクトのライセンスと互換性のないライセンスの依存関係を切り替えることができます。

  3. ライセンスセクションには、プロジェクト、モジュール、依存関係のライセンスのリストがあります。オープンライセンスのルールを使用すると、ライセンスの互換性のルールを表示できます。

  4. ライセンスのリストをさまざまな形式でダウンロードできます。

インスペクションプロファイルを調整する

何がチェックされたかを確認できることは、見つかった問題のリストと同じくらい重要であると考えています。例: タイプミスをチェックしていない場合、プロジェクトにタイプミスがゼロであることを嬉しく思うかもしれません。それらはたくさんあるかもしれませんが、単にチェックしていないだけです。

問題の数が管理可能な場合は、修正して、「問題のないコード」というゴールが達成されたと考えることができます。そのゴールに従い、新しい問題が発生したらすぐに修正することをお勧めします。

問題の数が予想を上回る場合は、Qodana 機能を使用して問題を調べることをお勧めします。

古い問題を修正する可能性がなく、新しい問題の発生を防ぎたい場合は、Qodana をベースラインモードで実行できます。

分析範囲を調整する

分析される問題の範囲を縮小する

問題が検出されたコードの断片を表示すると、それが無関係であると判断する場合があります。今後、同じ種類の問題がさらに除外されるようにすることができます。この目的のために、qodana.yaml を編集するか、以下に示すように実際の問題タブを使用します。

  1. 今後の分析からファイルまたはディレクトリを除外する

理由 : エラーを含むファイル、またはこのファイルを含むディレクトリの分析は、プロジェクトでは意味がありません。例: これは実際にはソースコードではなく、生成またはダウンロードされたコンテンツです。

方法 : コードフラグメントビューで、その他のアクションをクリックし、必要なオプションを選択します。

Selecting the options

OR :

コードフラグメントビューの上で、ファイルパスをクリックしてファイルエクスプローラーに移動します。

Adjusting the analysis scope, first step

ファイルエクスプローラーで、ファイル名の左側にあるアイコンをクリックし、除外対象としてマークを選択します。

Excluding from analysis
  1. 問題のリストから問題のタイプまたはカテゴリを非表示にする

理由 : エラーの種類またはそのカテゴリが無関係であるか、後で確認したいと考えます。
方法 : コードフラグメントビューで、その他のアクションをクリックし、必要なオプションを選択します。

Selecting the options

除外または非表示の問題を有効にする

行った除外を元に戻すには、プロファイル構成セクションで qodana.yaml をダウンロードし、必要に応じて編集し、プロジェクトのルートディレクトリに置き、この新しい構成で Qodana を再度実行します。

qodana.yaml を使用して Qodana を構成する方法については、「プロファイルの構成」セクションを参照してください。

関連ページ:

HTML レポートを開く

JetBrains IDE とシェルコマンドを使用して、HTML 形式の Qodana レポートを開くことができます。Qodana のバージョン 2023.2 以降では、Qodana レポートの概要セクションに従って、IntelliJ IDEA、PhpStorm、WebStorm、Rider、GoLand、PyCharm、Rider を使用して HTML レポートを開くことができます。この場合、IDE は JetBrains Toolbox アプリ経由でインストールする必要があります。オプションを...

レポートの概要

プロジェクトレポートからの情報が集約され、このイメージでマークされているいくつかのセクションに表示されます。各セクションの説明は次のとおりです。1. プロジェクト名、ブランチ名、最後のインスペクション実行からの経過時間、検出された問題の数とその重大度。2. コードカバレッジとライセンス監査機能を使用した分析結果。3. コンテキストメニューを使用すると、次のことが可能になります。VCS の HTTPS または SSH URL を構成する、プロジェクトの名前を変更する、プロジェクトトークンをコピーまた...

ベースライン

ベースラインは、特定の Qodana 実行時に取得され、ファイルに含まれているコードベースの問題のスナップショットです。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新しい問題、変更されていない問題、解決された問題を確認できます。この機能は、Community、Ultimate、Ultimate Plus ライセンスとその試用版で利用可能なすべてのリンターでサポートされています。使い方:ベースラインなしで Qodana を実行すると、現在の実行時に検出された問題を確認...

ライセンス監査

プロジェクトのライセンスが依存関係のライセンスと互換性があることを確認するのは決して簡単な作業ではありませんが、これは法的な目的のために必要です。このプロセスを自動化して間違いを避けるために、現在いくつかの Qodana リンターによってサポートされているライセンス監査機能を使用できます。JVM 用 QodanaMaven および GradlePHP 用の QodanaComposerJS 用 Qodananpm および YarnPython 用 QodanapipGo 用 QodanaGo モ...

コードカバレッジ

コードカバレッジは、生成されたレポートを使用して、メソッド、クラス、ファイル内の全体的なコードカバレッジを計算します。また、これらのエンティティにおけるカバレッジの不足に関連する問題についても報告します。この機能は、次のリンターの Ultimate および Ultimate Plus ライセンスで利用できます。JVM 用 QodanaIntelliJ IDEA コードカバレッジエージェントが推奨ツールですが推奨される形式です。もサポートされています。JaCoCoJS 用 QodanaJestPHP...

JetBrains IDE

JetBrains IDE で Qodana を実行して、コードベースをインスペクションできます。Qodana は、JetBrains Toolbox アプリ経由でインストールされたいくつかの JetBrains IDE (IntelliJ IDEA、PhpStorm、WebStorm、Rider、GoLand、PyCharm、Rider など) をサポートします。IDE を使用すると、次のことが可能になります。Qodana をローカルで実行する、Qodana クラウドに接続する、CI パイプライン...