そもそもQodanaとは?
Qodanaは、JetBrainsが開発したコード解析ツールとその周辺機能です。
数多くの言語/フレームワークに対応し、コマンドライン、JetBrains IDEやVS Codeなどのエディター、GitHub ActionsなどのCI/CD環境から利用できます。
また、Web用の閲覧ページ「Qodana Cloud」もあります。
課題
AIエージェントによるコーディング+Linterによるコード整形はよくある組み合わせだと思います。しかし、この開発の流れでは問題がありました。
IDE上で警告になるコードが混ざってしまう。
AIにcommitとpushまでを自動化させると、IDE上でそのコードを確認する機会がなくなります。GitHubのプルリクエスト時にAIが書いたコードに目は通すのですが、GitHub上でコードを確認するため、IDEで警告の出る記述がそのままマージされてしまいます。
それを解決するために他のLinter(Prettierなど)を使っていましたが、どうしてもIDEで警告が出る箇所がありました。
QodanaのLinter
Qodanaのトップページには以下のように書かれています。
Qodana は JetBrains IDE のリンターを頼りに、そのインテリジェンスを CI 側にもたらします。
「IDEが警告を出す基準」と「Qodanaが警告を出す基準」が同じため、IDEでの警告とLinterでの警告が同じになります。
実際のプロジェクトにて
私がフレームワークを使って作った初めてのWebサービス「VRChat Group Search」ではAIとQodanaを積極的に利用しています。
GitHubActionsにてQodanaを実行、コードスキャン結果をQodana Cloudにて閲覧することができます。
例えば、以下の例では使用していない変数などの警告が出ます。

便利機能
今回はLinterがきっかけでQodanaを使いましたが、以下の機能もとても便利でした。
Quick-Fix
発見された問題を自動的に修正する機能です。
CLEANUP(軽微で安全な修正)とAPPLY(広範囲な修正、レビュー推奨)があり、自動で適用するかが設定できます。
ライセンス監査
プロジェクトのライセンスとその依存関係のライセンスとの互換性を検証します。
Maven, Gradle, Composer, npm, Yarn, pip, Go Modules, NuGetなどのツールがサポートされています。
IDEとの統合
JetBrains IDEなどとの統合により、Qodanaの結果をIDE上で確認できるだけでなく、GitHub Actionsの作成などがIDEで簡単に行えます。
その他機能
その他にも便利な機能があります。詳しくは公式ページをご覧ください。
また、Qodanaの公式Xでも便利な機能が頻繁に紹介されています。こちらもぜひ見てみてください。