分析レポート
Qodana を使用すると、ローカルまたは Qodana クラウドでインタラクティブかつユーザーフレンドリーな形式で分析レポートを確認できます。
レポート UI の概要

各レポートには次のタブが含まれています。
レポートの右上隅には、コードカバレッジ分析レポートが表示されています。

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

このタブはいくつかの要素で構成されています。
サンバーストダイアグラムは問題の概要をグラフィカルに示し、問題の原因を掘り下げることができます。
フィルターのグループを使用すると、さまざまな基準を使用してレポートデータをフィルターできます。
問題とファイルのリスト間を移動したり、問題を検索したりグループ化したりすることができます。
選択したものをベースラインに移動ボタンは、選択した問題を基本的な問題点リストに保存します。
リスト内の問題をクリックすると、詳細な説明を含む基礎となるコード部分が展開されます。
JetBrains、Toolbox、JetBrains IDE がインストールされている場合は、IDE を使用して問題のあるファイルを編集できます。そのためには、ドロップダウンリストから IDE を選択し、ファイルを開く ... ボタンをクリックしてください。
同じ IDE のバージョンが複数ある場合は、ファイルを開くときに使用するバージョンを選択できます。JetBrains Toolbox UI で、Windows または Linux では Ctrl + Shift + ↑ / ↓、macOS では⌘ + ⇧ + ↑ / ↓のショートカットを使用して、必要なバージョンの IDE をリストの一番上にドラッグまたは移動します。
パス、ファイル、インスペクション、カテゴリを分析から除外することもできます。詳細については、分析範囲を調整するのセクションを参照してください。
同様の問題の検索ボタンを使用すると、問題を種類別に絞り込むことができます。
最後に、コピーボタンを使用して、レポートに含まれる特定の問題へのリンクをコピーできます。
偽陽性として報告するボタンを使用すると、YouTrack に関連課題を作成できます。
基本的な問題点
「現在の問題点」タブの「選択したものをベースラインに移動」ボタンをクリックすると、選択した問題がこのタブに移動します。

このタブの UI は現在の問題点タブと似ています。今後のインスペクションでベースライン機能を有効にするには、レポート UI に表示される指示に従ってください。この機能の詳細については、ベースラインセクションを参照してください。
インスペクション
インスペクションタブにはインスペクションがリストされ、Qodana が次回の実行で使用するインスペクションのセットを指定することで、インスペクションプロファイルを調整できます。

ここでは、各インスペクションの機能と、それを有効または無効にすることができます。今後この構成を使用するには、qodana.yaml ファイルをダウンロードしてプロジェクトのルートディレクトリに保存します。
ベストプラクティスについては、「インスペクションプロファイルを調整する」セクションを参照してください。
このタブの下部には、Qodana の実際の構成を表示できるプロファイル構成ペインがあります。構成を変更すると、このペインにもそれに応じて更新されます。
ライセンス監査
タブには、ライセンス監査機能によって生成された分析レポートが表示されます。

ライセンス監査レポートは、依存関係ツリーにグループ化されます。
該当する場合は、特定の依存関係を展開して、その依存関係ツリーを表示できます。
を使用すると、プロジェクトのすべての依存関係と、プロジェクトのライセンスと互換性のないライセンスを持つ依存関係を切り替えることができます。
セクションには、プロジェクト、モジュール、依存関係のライセンスのリストがあります。を使用すると、ライセンスの互換性のルールを表示できます。
ライセンス一覧は様々な形式でダウンロードできます。SPDX(英語) 2.3 JSON 形式をダウンロードするには、
.jsonを選択してください。
重大度レベル
この表は、JetBrains IDE、SARIF ファイル、Qodana レポートの重大度間の関係を示しています。
インスペクションプロファイルを調整する
何がチェックされたかを確認できることは、見つかった問題のリストと同じくらい重要であると考えています。例: タイプミスをチェックしていない場合、プロジェクトにタイプミスがゼロであることを嬉しく思うかもしれません。それらはたくさんあるかもしれませんが、単にチェックしていないだけです。
問題の数が管理可能な場合は、修正して、「問題のないコード」というゴールが達成されたと考えることができます。そのゴールに従い、新しい問題が発生したらすぐに修正することをお勧めします。
問題の数が予想を上回る場合は、Qodana 機能を使用して問題を調べることをお勧めします。
古い問題を解決する手段がなく、新たな問題の発生を防ぎたい場合は、Qodana をベースラインモードで実行できます。
分析範囲を調整する
分析される問題の範囲を縮小する
問題が検出されたコードの断片を表示すると、それが無関係であると判断する場合があります。今後、同じ種類の問題がさらに除外されるようにすることができます。この目的のために、qodana.yaml を編集するか、以下に示すように現在の問題点タブを使用します。
今後の分析から除外する
理由 : エラーを含むファイル、またはこのファイルを含むディレクトリの分析は、プロジェクトでは意味がありません。例: これは実際にはソースコードではなく、生成またはダウンロードされたコンテンツです。
方法 : コード断片ビューで、除外ドロップダウンリストを展開し、必要なオプションを選択します。

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

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

問題のリストから問題のタイプまたはカテゴリを非表示にする
理由 : エラーの種類またはそのカテゴリは関係ないと思われるか、後で戻って対処したい場合。
方法 : コードフラグメントビューで、除外ドロップダウンリストを展開し、必要なオプションを選択します。

除外または非表示の問題を有効にする
行った除外を元に戻すには、プロファイル構成セクションで qodana.yaml をダウンロードし、必要に応じて編集し、プロジェクトのルートディレクトリに置き、この新しい構成で Qodana を再度実行します。
qodana.yaml を使用して Qodana を構成する方法については、「インスペクションプロファイル:」セクションを参照してください。
HTML レポートを開く
JetBrains IDE とシェルコマンドを使用して、HTML 形式の Qodana レポートを開くことができます。
Qodana レポートの概要のセクションに従って、IntelliJ IDEA、PhpStorm、WebStorm、Rider、GoLand、PyCharm、Rider を使用して HTML レポートを開くことができます。
この場合、IDE は JetBrains Toolbox アプリ経由でインストールする必要があります。
詳細については、Visual Studio Code のセクションを参照してください。
Qodana を --save-report オプション付きで実行すると、レポートの HTML バージョンが /data/results/report に保存されます。このディレクトリは通常、Docker を介してマウントされ、後で Qodana の実行とは関係なく HTML レポートを表示できるようにします。JavaScript のセキュリティ制限により、index.html ファイルをダブルクリックして HTML レポートを参照することはできません。代わりに、HTML レポートは Web サーバー経由で提供される必要があり、次に示すように Dockerized バージョンの nginx を実行するか、Python または PHP 組み込み Web サーバーを呼び出すことができます。
Qodana を実行した後、
reportディレクトリに移動し、そこにindex.htmlファイルが存在することを確認してください。選択した Web サーバーを使用してレポートを提供します。
docker run -it --rm -p 8000:80 \ -v $(pwd):/usr/share/nginx/html nginxブラウザーで http://localhost:8000 に移動し、生成されたレポートを確認します。
python2 -m SimpleHTTPServerブラウザーで http://localhost:8000 に移動し、生成されたレポートを確認します。
python3 -m http.serverブラウザーで http://localhost:8000 に移動し、生成されたレポートを確認します。
php -S localhost:8000ブラウザーで http://localhost:8000 に移動し、生成されたレポートを確認します。
関連ページ:
レポート
プロジェクトレポートからの情報が集約され、このイメージでマークされているいくつかのセクションに表示されます。各セクションの説明は次のとおりです。プロジェクト名、ブランチ名、前回の分析からの経過時間、検出された問題の数、その深刻度。コードカバレッジとライセンス監査機能を利用した分析レポート。コンテキストメニューを使用すると、次のことが可能になります。VCS の HTTPS または SSH URL を設定します、プロジェクトを別のチームに移動する、プロジェクトの名前を変更する、プロジェクトトークンを...
ベースライン
ベースラインは、特定の Git ブランチに対する特定の Qodana 分析で取得されたコードベースの問題のスナップショットであり、ファイルに格納されています。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新規の問題、変更されていない問題、解決済みの問題を確認できます。たとえば、ブランチのベースラインを設定・更新することで、プルリクエストやマージリクエストのマージ後の変更を監視できます。必要に応じて、新しいファイルを生成し、Qodana の実行中に使用することで、ベースラ...
ライセンス監査
プロジェクトのライセンスが依存関係のライセンスと互換性があることを確認するのは決して簡単な作業ではありませんが、これは法的な目的のために必要です。このプロセスを自動化して間違いを避けるために、現在いくつかの Qodana リンターによってサポートされているライセンス監査機能を使用できます。JVM 用 QodanaMaven および GradlePHP 用の QodanaComposerJS 用 Qodananpm および YarnPython 用 QodanapipGo 用 QodanaGo モ...
コードカバレッジ
コードカバレッジは、生成されたレポートを使用して、メソッド、クラス、ファイル内の全体的なコードカバレッジを計算します。また、これらのエンティティのカバレッジ不足に関連する問題についてもレポートします。コードカバレッジレポートは、Qodana Ultimate および Qodana Ultimate Plus ライセンスでご利用いただけます。Qodana ライセンスの詳細については、サブスクリプションのオプションと価格ページを参照してください。デモのご依頼も承っております。この機能は以下のリンターで...
JetBrains IDE
JetBrains Toolbox アプリ経由でインストールされた JetBrains IDE 製品(IntelliJ IDEA、PhpStorm、WebStorm、GoLand、PyCharm、Rider、CLion など)を使用して、Qodana を実行できます。IDE に応じて、利用可能な機能は以下のとおりです。Qodana をローカルで実行し、レポートを Qodana クラウドにアップロードする (CLion では利用できません)、Qodana クラウドに接続してレポートをダウンロードする...
構成リファレンス
導入:Qodana は、YAML またはコマンドライン(CLI)オプションを使用して設定できます。プロジェクトのルートディレクトリに格納された、通常という名前の YAML 形式のファイルを使用して Qodana を設定する方法は、長いコマンドを必要とする設定に適しています。例: インスペクションの設定、ブートストラップ、および他の方法では設定しにくいその他の設定。YAML 設定を保存すれば、Qodana の異なるインスタンス間で再利用できます。CLI オプションは、Docker エンジン、Qo...