Qodana Features
for Superior Code Analysis

Qodana comes with all of the features essential to spotting and fixing issues before they escalate. Running static analysis all the way from the IDE to the CI, it enables developers to detect and fix code smells, duplicates, code complexities, vulnerabilities, license issues, and more – and ship their software with confidence.

IDE integrations

When static code analysis is integrated into your CI/CD workflow, it’s always the IDE where you and your team address the actual issues. With out-of-the-box integration of JetBrains IDEs and the VS Code extension, Qodana sends targeted feedback on issues found within server-side scans, so that you can fix them faster – with no distractions and context-switching. Stay in your coding zone and fix issues while Qodana does all of the analysis on the CI side.

logo

Instant code analysis feedback delivered to your IDE

Once you commit changes to the branch, Qodana will do a background scan on the CI side and automatically submit the issue report to your IDE. You’ll receive automated feedback on bugs, duplicated code, code smells, incompatible dependencies, and security vulnerabilities. You’ll see the health of your entire project – without even leaving the IDE – and will be able to start fixing flagged issues right away.

Easy CI analysis setup from within your IDE  available only for JetBrains IDEs

The wizard pre-installed in your JetBrains IDE can generate a configuration file for the CI server of your choice. Helpers are available for the most popular CI servers, such as Jenkins, GitHub Actions, TeamCity, GitLab CI/CD, and more.

Direct issue location

You can also access Qodana reports within GitHub Actions or in Qodana Cloud and use the Open in IDE button to quickly access the place in the code where the issue occurred.

In-depth insights

Detailed explanations of issues help you identify, understand and learn from them.

FAQs

You can preview static analysis results with a local run. Getting started with static analysis is easy. If you’re new to Qodana, you can run the first scan right from the IDE and quickly see the results of its local checks.
Sure! Qodana offers integration with Visual Studio Code, with Visual Studio support coming this year and others later.
To start with Qodana, you’ll need a JetBrains Account that can be created in a few clicks. Alternatively, you can run Qodana locally using our CLI or set up Qodana as a build step in your CI.

CI/CD integrations

If your code breaks the build or introduces bugs, vulnerable dependencies, or incompatible licenses, you want to know immediately and fix the issue before other changes come on top of it. Otherwise, issues will reach the main branch and be deployed. Integrated with your CI pipeline, Qodana can stop the production line following the criteria you set or simply alert you to issues detected on the server side, so you and your team can fix them in a timely manner.

Clear go / no-go quality gates

Our automated quality gates analyze your code against predefined benchmarks, providing instant feedback and failing your pipelines if the code exceeds the number of issues with certain severities or if the code coverage isn’t high enough.

CI agnostic

Whatever CI/CD tool you use, be it Jenkins, GitHub Actions, TeamCity, BitBucket, or GitLab, you can integrate it with Qodana if it supports Docker.

Server-side reports delivered to your IDE

Once you commit changes, Qodana will do a background scan on the CI side and automatically submit the report with any identified problems to your IDE. You’ll see the health of your project – without having to leave the IDE – and will be able to start fixing flagged problems right away.

Configuration wizard  available only for JetBrains IDEs

The wizard pre-installed in your JetBrains IDE can generate a configuration file for the CI server of your choice. For instance, you can just click the Add button for GitHub Actions, and the workflow configuration file will be created in the project. There are also helpers for other CI servers, such as TeamCity, GitLab CI/CD, Jenkins, and more.

Quick-fixes

Qodana is able to apply quick-fixes to issues that can be resolved automatically and create a new pull request with the applied changes. Then, the user will be able to review these changes before committing.

Quick-start with the Docker images

Qodana linters are packed into ready-to-use Docker images that can be pulled and run on any CI tool that supports Docker.

Get a 60-day trial for your whole team

License audit

Detect improper software licenses before they become a legal issue. As a part of software composition analysis, Qodana offers a license audit that meticulously checks that your project’s licenses align with those of its dependencies. Avoid surprises and legal pitfalls by ensuring full license compliance.

Continuous scanning

Qodana scans your project’s dependencies and flags any incompatible licenses. Whenever a new library is added to your project, or an existing one unexpectedly changes its license, Qodana will notify you. License audit reports are included as issues in a separate tab on the Qodana interface and in the IDE.

Integrate license audit into the CI/CD pipeline

Qodana helps you ensure that every code change is thoroughly scanned for license compliance.

Fine-tune audit criteria

Alternatively, you can ignore licenses of a specific dependency in your project, create custom dependencies, and override the license matrix by prohibiting or allowing specific licenses.

Streamline compliance reporting

Qodana generates comprehensive reports to demonstrate your project’s license compliance to stakeholders, auditors, and legal teams.

Code coverage

With Qodana, you can monitor code coverage across all team projects, ensuring critical paths are well-tested. Set thresholds for desired coverage levels for both existing and fresh code, and maintain a reliable codebase through automated checks in your CI/CD pipeline.

Coverage reports imported natively to the IDE

After running the code coverage check on the CI side, Qodana visualizes which lines, methods, or classes are not exercised during testing. Thanks to native integration with JetBrains IDEs and VS Code support, developers can see which parts of their code aren’t covered right in the IDE without having to execute the tests again.

Fail pipelines based on the code coverage level

You can define the desired percentage of code coverage as a quality gate criterion. If the total code, or only fresh code, doesn’t meet the desired code coverage benchmark (e.g. > 50%), Qodana will fail the build.

Integrates most popular code coverage tools

Qodana integrates out-of-the-box with IntelliJ IDEA Code Coverage Agent, JaCoCo, Jest, PhpUnit, coverlet.msbuild, Coverage.py, and go test.

Overview and compare code coverage between projects

Qodana can show how code coverage progresses throughout all your projects.

Quick-fixes

Qodana automatically generates pull requests with suggested fixes for specific problems that it finds. By applying quick-fixes to issues that can be resolved automatically, Qodana creates new pull requests for review before committing the changes.

Flexible strategies

Qodana’s linters support both CLEANUP and APPLY strategies, giving you flexibility in how fixes are applied:

CLEANUP

Automatically implements safe, minor fixes without altering project logic, making it perfect for risk-free code cleanup.

APPLY

Attempts to resolve all identified issues, potentially leading to significant changes that require careful review. This strategy is ideal when you’re prepared for an extensive code review.

Dashboards

Qodana comes with rich visualization capabilities that give you comprehensive code insights and show you which areas need immediate action.

Signature sunburst diagram

Our sunburst diagram gives you a bird’s-eye view of your project’s health. Intuitive filters allow you to sort issues by type, severity, and location so you can prioritize and address the most pressing ones – quickly.

Historical overview

View historical scan results to check progress on code quality improvements.

Customization / Extensions

Every team has unique code quality needs, and no single tool covers all requirements. To fulfill your team’s unique workflows, Qodana combines out-of-the-box integrations and predefined inspection profiles with rich customization capabilities.

FlexInspect – create your own inspections

The simplest way to extend Qodana is through FlexInspect, which allows you to create custom code inspections for any rules you want to enforce in your project. By simply adding a new .kts file directly to your project, you eliminate the need for separate configurations, builds, or additional steps, effectively removing complexity from the process.

Learn more

Use off-the-shelf plugins or create your own

You can either use plugins available from repositories or create your own. For the latter, you can follow our Plugin Development Guide for assistance.

Use structural search patterns

Structural search is a powerful and flexible mechanism built into JetBrains IDEs. It employs search templates to let you inspect the codebase, taking into account its semantics. You can create your own search templates and use them as Qodana inspections.

Learn more

Baseline

Move less critical issues to the baseline or simply move all detected issues to stop receiving notifications about them. This way, teams ensure that they are focused on the issues that matter most.

Code state comparison

Easily identify changes in your codebase problems over time and see new, resolved, and unchanged problems.

Enforce code quality standards gradually

In the initial run, Qodana identifies various issues in your codebase. Rather than tackling all problems immediately and pausing other tasks, you can add these issues to the baseline. Focus on applying clean code practices only to new code without feeling overwhelmed.

Get a 60-day trial for your whole team