Qodana 的卓越
代码分析功能

Qodana 具备在问题升级之前找出和修正问题所需的所有功能。通过从 IDE 到 CI 的全程静态分析,开发者可以检测和修正代码异味、重复、代码复杂性、漏洞和许可证问题等情况,并放心地发布软件。

IDE 集成

在静态代码分析集成到您的 CI/CD 工作流中后,您和您的团队始终可以在 IDE 中解决实际问题。借助 JetBrains IDE 和 VS Code 扩展的开箱即用集成,Qodana 会就服务器端扫描中发现的问题发送针对性反馈,让您可以更快修正问题,无需分心和切换上下文。您可以留在编码区修正问题,Qodana 会在 CI 端进行所有分析。

logo

向您的 IDE 交付即时代码分析反馈

在您将更改提交到分支后,Qodana 会在 CI 端进行后台扫描,并自动将问题报告提交到您的 IDE。您将收到有关 bug、重复代码、代码异味、不兼容依赖项和安全漏洞的自动反馈。您无需离开 IDE 就能看到整个项目的健康状况,并能立即开始修正标记的问题。

IDE 内的轻松 CI 分析设置  仅适用于 JetBrains IDE

JetBrains IDE 中预装的向导可以为您选择的 CI 服务器生成配置文件。帮助程序适用于最流行的 CI 服务器,例如 Jenkins、GitHub Actions、TeamCity、GitLab CI/CD 等。

直接问题定位

您还可以在 GitHub Actions 或 Qodana Cloud 中访问 Qodana 报告,并使用 Open in IDE(在 IDE 中打开)按钮快速访问代码中出现问题的位置。

深入洞察

详细的解释有助于您识别、理解问题并从中学习。

常见问题解答

您可以通过本地运行预览静态分析结果。静态分析入门非常简单。如果您刚接触 Qodana,可以直接从 IDE 运行第一次扫描并快速查看其本地检查的结果。
当然!Qodana 提供与 Visual Studio Code 的集成,今年将推出 Visual Studio 支持,其他支持后续推出。
要开始使用 Qodana,您需要一个 JetBrains Account,点击几下即可创建。或者,您可以使用我们的 CLI 在本地运行 Qodana,或作为 CI 中的构建步骤设置 Qodana。

CI/CD 集成

如果您的代码破坏了构建,或者引入了 bug、漏洞依赖项或不兼容的许可证,您需要立即知情并在其他更改发生之前修正问题。否则,问题将到达 main 分支并被部署。与您的 CI 管道集成后,Qodana 可以根据您设置的标准停止生产线,或者提醒您注意服务器端检测到的问题,让您和您的团队能够及时修正。

明确的合格/不合格质量门

我们的自动化质量门根据预定义基准分析您的代码,提供即时反馈,并在代码中具有特定严重性的问题超过一定数量或代码覆盖率不够高时使管道失败。

与 CI 无关

无论您使用什么 CI/CD 工具,无论是 Jenkins、GitHub Actions、TeamCity、BitBucket 还是 GitLab,只要它支持 Docker,您都可以将其与 Qodana 集成。

向您的 IDE 交付服务器端报告

提交更改后,Qodana 会在 CI 端进行后台扫描,并自动将发现的问题报告提交到您的 IDE。您无需离开 IDE 就能看到项目的健康状况,并能立即开始修正标记的问题。

配置向导  仅适用于 JetBrains IDE

JetBrains IDE 中预装的向导可以为您选择的 CI 服务器生成配置文件。例如,点击 GitHub Actions 的 Add(添加)按钮,就会在项目中创建工作流配置文件。还有帮助程序适用于其他 CI 服务器,例如 TeamCity、GitLab CI/CD、Jenkins 等。

快速修复

Qodana 能够对可以自动解决的问题应用快速修复,并使用应用的更改创建新的拉取请求。然后,用户可以在提交之前检查这些更改。

使用 Docker 镜像快速启动

Qodana linter 被打包到能够立即使用的 Docker 镜像中,可以在任何支持 Docker 的 CI 工具上拉取并运行。

为您的整个团队获取 60 天试用

许可证审核

在不当软件许可证成为法律问题之前将其检出。Qodana 在软件组成分析中提供许可证审核,细致检查项目许可证是否与其依赖项许可证一致。确保完全许可证合规,避免意外和法律陷阱。

连续扫描

Qodana 可以扫描您项目的依赖项并标记任何不兼容的许可证。每当项目中添加新库或现有库意外更改其许可证时,Qodana 都会发出通知。许可证审核报告作为问题出现在 Qodana 界面和 IDE 的单独标签页中。

将许可证审核集成到 CI/CD 管道中

Qodana 帮助您确保每个代码更改都经过彻底扫描以实现许可证合规。

微调审核标准

您也可以忽略项目中特定依赖项的许可证,创建自定义依赖项,并通过禁止或允许特定许可证来重写许可证矩阵。

简化合规报告

Qodana 可以生成全面报告,向利益相关方、审核者和法律团队展示项目的许可证合规性。

代码覆盖率

使用 Qodana,您可以监控所有团队项目的代码覆盖率,确保关键路径经过充分测试。为现有代码和新代码设置所需覆盖率的阈值,并通过 CI/CD 管道中的自动化检查维护可靠的代码库。

覆盖率报告原生导入到 IDE

在 CI 端运行代码覆盖率检查后,Qodana 会显示哪些行、方法或类在测试期间未被执行。得益于与 JetBrains IDE 的原生集成和 VS Code 支持,开发者可以直接在 IDE 中直接查看代码的哪些部分未被覆盖,无需再次执行测试。

根据代码覆盖率水平决定是否使管道失败

您可以将所需代码覆盖率百分比定义为质量门标准。如果全部代码或仅新代码未达到所需代码覆盖率基准(例如 > 50%),Qodana 将使构建失败。

集成最流行的代码覆盖率工具

Qodana 与 IntelliJ IDEA Code Coverage Agent、JaCoCo、Jest、PhpUnit、coverlet.msbuild、Coverage.py 和 go test 开箱即用地集成。

概览并比较项目之间的代码覆盖率

Qodana 可以显示所有项目中代码覆盖率的进展情况。

快速修复

Qodana 会自动生成拉取请求,并针对发现的特定问题建议修正。通过对可以自动解决的问题应用快速修复,Qodana 在提交更改之前创建新的拉取请求以供审核。

灵活策略

Qodana 的 linter 支持 CLEANUP 和 APPLY 策略,让您可以灵活选择修正的应用方式:

CLEANUP

自动实现安全的小型修正而不改变项目逻辑,使其成为无风险代码清理的完美选择。

APPLY

尝试解决所有发现的问题,可能会导致需要仔细审核的重大更改。如果您已经准备好进行广泛的代码审查,那么这种策略是理想选择。

仪表板

Qodana 具有丰富的可视化功能,能够提供全面的代码洞察,并展示哪些区域需要立即处理。

标志性旭日图

我们的旭日图可以让您查看项目的整体健康状况。直观的筛选器可以让您按类型、严重程度和位置对问题进行排序,由此快速确定优先级并处理最紧迫的问题。

历史概览

查看历史扫描结果,检查代码质量改进的进度。

自定义/扩展

每个团队都有独特的代码质量需求,没有哪种工具可以满足所有要求。Qodana 将开箱即用的集成和预定义的检查配置文件与丰富的自定义功能相结合,支持您团队的独特工作流。

FlexInspect – 创建您自己的检查

扩展 Qodana 的最简单方式是通过 FlexInspect,它允许您为要在项目中实施的规则创建自定义代码检查。在项目中直接添加新的 .kts 文件,您无需进行单独的配置、构建或其他步骤,可以有效消除流程的复杂性。

了解详情

使用现成插件或创建自己的插件

您可以使用仓库提供的插件,也可以创建自己的插件。对于后者,您可以遵循我们的插件开发指南获取帮助。

使用结构化搜索模式

结构化搜索是 JetBrains IDE 强大而灵活的内置机制。它使用搜索模板让您检查代码库,同时考虑其语义。您可以创建自己的搜索模板并将其用作 Qodana 检查。

了解详情

基准

将不太严重的问题移动到基线,或者移动所有检测到的问题以停止接收相关通知。这样一来,团队可以专注于最重要的问题。

代码状态比较

轻松识别代码库问题在一段时间内的变化,并查看新的、已解决的和未更改的问题。

逐步执行代码质量标准

在初次运行中,Qodana 会识别代码库中的各种问题。您无需立即解决所有问题和暂停其他任务,而是可以将这些问题添加到基线,专注于对新代码应用清洁代码做法。

为您的整个团队获取 60 天试用