構成の概要
次の構成方法があります。
YAML 形式のファイル(通常は
qodana.yaml)を使用して Qodana を設定する方法は、インスペクションの設定、ブートストラップ、その他他の方法では設定しにくい設定など、長いコマンドを必要とする設定に適しています。YAML 形式の設定を保存すれば、Qodana の異なるインスタンス間で再利用できます。Docker、Qodana CLI、IDE、CI/CD ツールなどの Qodana を実行しているツールの構成機能を使用します。
リンターや品質ゲートなどの設定は、どちらの方法でも設定できます。この場合、ツールの設定は YAML 形式のファイルに保存された設定をオーバーライドします。
インスペクションプロファイルを設定することで、Qodana による解析に使用するインスペクションとコードベース内のパスを指定できます。既存のインスペクションプロファイルを設定して使用することも、カスタムプロファイルを一から作成することもできます。
既存のインスペクションがニーズに合わない場合は、FlexInspect 機能、Roslyn アナライザー、構造検索パターンを使用して独自のインスペクションを開発し、インスペクションプロファイルに適用できます。あるいは、Qodana のインスペクション機能を拡張するプラグインを使用するか、独自のプラグイン(英語)を開発することもできます。
最後に、Qodana に同梱されているデフォルトの JDK バージョンを上書きすることもできます。詳細は JDK の設定のセクションを参照してください。
パフォーマンスの最適化
プロジェクト設定段階で Qodana をより効果的に動作させるには、以下の推奨事項に従ってください。
まず、最初のリンター分析後、リンターの --cache-dir オプション、CI/CD サポートの場合は use-caches 入力引数、または Docker コンテナー内の /data/caches ディレクトリを指定します。キャッシュにはプロジェクト構造、インデックス、依存関係に関するデータが含まれており、後続の分析を高速化します。ただし、プロジェクトに重大な変更があった場合や Qodana のバージョンが更新された場合は、キャッシュをリセットすると良いでしょう。
IntelliJ IDEA 設定ファイルを .idea フォルダーに保存することもできます。例:
modules.xmlファイルはプロジェクト構造の解析を改善しますkotlinc.xmlやphp.xmlのような言語固有のファイルは、コンパイラーのバージョンとオプションに関する情報を提供します。*.imlファイルにはディレクトリに関する情報が含まれています
最初の解析後、<results-dir-artifact>/projectStructure ディレクトリを確認して、プロジェクトが正しく設定されていることを確認してください。また、以下の点も確認してください。
プロジェクトのインポートは正常に動作します
使用するツールは構成されたバージョンと一致します
プロジェクトの依存関係プーリングは、キャッシュを使用している場合は 1 回だけ実行されるため、正しく機能します。
分析では予期せぬ問題は示されません。なぜなら、分析は構成上の問題を示す重要な指標です。
Docker イメージパス
パス | 説明 |
|---|---|
| 解析対象プロジェクトのルートディレクトリ |
| 分析レポートを保存するディレクトリ |
| IDE ディストリビューションを含むディレクトリ |
| IDE に設定が含まれるディレクトリ |
| プロファイルが CLI または |
Maven および Gradle プロジェクトの場合、Qodana は次のディレクトリを使用してサードパーティライブラリにアクセスします。
パス | 説明 |
|---|---|
| Maven プロジェクトの依存関係 |
| Gradle プロジェクトの依存関係 |
これらのディレクトリをマウントすると、Qodana がこれらのリンターを使用しているときにすべての依存関係を再度ダウンロードする手間が省けます。
関連ページ:
YAML ファイル
デフォルトでは、Qodana はプロジェクトのルートディレクトリに含まれるファイルから構成を読み取ります。オプションを使用してこのファイル名を上書きできます。カスタム構成ファイルセクションを参照してください。便宜上、このセクションではデフォルトの名を使用して参照します。で適用された構成は、デフォルトのインスペクションプロファイル設定と Qodana リンターのデフォルト構成を上書きします。これは HTML レポートセクションを使用して構成でき、すべての変更が自動的に適用されます。の JSON スキ...
クイックスタート
現行バージョンの Qodana(2026.1)では、様々なプログラミング言語や技術を用いたソフトウェアを解析できます。また、利用可能な機能を使って、デフォルトの Qodana 設定を拡張することも可能です。例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。JetBrains IDE、コマンドラインインターフェース、GitHub アクション、Gradle プラグインとして、前提条件:Qodana Cloud でプロジェクトを設定する Qod...
FlexInspect
IntelliJ API と Kotlin を使用して、プロジェクト専用のインスペクションを開発できます。Qodana を使用してインスペクションを実行するには、Ultimate および Ultimate Plus ライセンスで利用可能な FlexInspect 機能を使用してください。利用可能な Qodana ライセンスの詳細については、サブスクリプションのオプションと価格ページを参照してください。デモをリクエストすることもできます。FlexInspect を使用すると、次のことが可能です。ソース...
構造検索
構造検索は、JetBrains IDE に組み込まれた強力で柔軟なメカニズムです。検索テンプレートを使用することで、コードベースのセマンティクスを考慮しながら解析できます。独自の検索テンプレートを作成し、Qodana インスペクションとして利用することも可能です。構造検索の仕組み:例として、次の検索テンプレートを考えてみましょう。$Instance$.$MethodCall$($Parameter$) これにより、Java ステートメントを検出できます。のようなハードコードされたテキストを含むス...
Java、Kotlin、Groovy
すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Java プロジェクトを分析するには、次のリンターを使用できます。リンター名 Docker イメージベースとなるもの IntelliJ IDEA Ultimate ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Java、Kotlin、Groovy、...
インスペクション
各インスペクションは、コードを分析し、コード内の異常な断片を検出して修正するための条件セットです。Qodana およびインスペクションは、さまざまな問題を検出してハイライトし、デッドコードの位置を特定し、潜在的なバグやスペルミスを見つけ出し、コード全体の構造改善を容易にします。すべてのインスペクションは高度に構成可能であるため、以下を構成できます。どのインスペクションを使用してコードベースを分析するかを選択してください。利用可能なインスペクションは多数あり、YAML ファイルで有効にできます。ま...