Skip to content

Latest commit

 

History

History
153 lines (90 loc) · 5.74 KB

README.zh-CN.md

File metadata and controls

153 lines (90 loc) · 5.74 KB

Sonar Intellij Plugin

English | 简体中文

Sonar Intellij Plugin是一个Intellij IDEA插件,使用Sonar Intellij Plugin你可以在Intellij IDEA中对Java项目执行Sonar代码分析、查看代码分析报告以及对问题代码进行提示。 你必须要做的配置只有绑定SonarQube,然后即可在不离开IDE的情况下使用所有功能。

支持按范围进行代码分析,例如项目文件、模块文件、包文件、更改列表文件、打开的文件和选择的文件。分析报告支持问题的筛选和标记已解决的问题。

SonarAnalyzer

安装

Sonar Intellij Plugin已经发布到JetBrains插件市场,最新版本是 v0.2.2

打开Settings / Plugins / Marketplace(macOS下为Preferences / Plugins / Marketplace),使用关键词SonarAnalyzer搜索插件然后安装插件SonarAnalyzer

sonar-intellij-plugin-install

插件安装成功后重启IDE即可生效。

用法

Sonar Intellij Plugin底层使用SonarScanner执行代码分析,SonarScanner需要连接SonarQube服务器,因此使用Sonar Intellij Plugin前需要做一些必要的设置,然后再对项目执行代码分析。

设置

设置分为IDE级别和Project级别,可以通过Settings / Tools / SonarAnalyzer(macOS下为Preferences / Tools / SonarAnalyzer)对插件进行设置。

IDE级别设置主要包含:

  • 插件语言切换(目前支持中文、英文)
  • 管理SonarQube连接(新增、更新、删除)
  • 管理全局SonarScanner属性(新增、更新、删除)

Project级别设置主要包含:

  • 为Project绑定SonarQube连接
  • 管理Project使用的SonarScanner属性(新增、更新、删除,以及控制是否继承全局SonarScanner属性)

SonarQube连接

可以在IDE级别管理所有的SonarQube连接,可以新增、删除和更新SonarQube连接。

每个SonarQube连接必须提供名称、URL和Token。新增SonarQube连接:

sonar-intellij-plugin-chinese-add-connection

在Project级别设置中可以为Project指定要绑定的SonarQube连接:

sonar-intellij-plugin-chinese-project-settings

如果Project未绑定SonarQube连接,默认使用已添加的第一个SonarQube连接。

SonarScanner属性

插件内部在使用SonarScanner时已经尽量使用了合理完善的属性,但是你可能仍需要独立设置一些属性,但请注意以下属性不支持设置:

  • sonar.host.url
  • sonar.login
  • sonar.password
  • sonar.projectBaseDir
  • sonar.working.directory
  • sonar.java.source
  • sonar.tests
  • sonar.sources
  • sonar.java.libraries
  • sonar.java.binaries
  • sonar.sourceEncoding

属性sonar.projectKeysonar.projectName可以使用占位符<projectName>表示项目名称。默认的sonar.projectKeysonar.projectName值为SonarAnalyzer:<projectName>

添加属性:

sonar-intellij-plugin-chinese-add-property

你可以在IDE级别和Project级别管理属性,在IDE级别添加所有Project都需要的属性,然后可以在Project设置中控制是否继承IDE级别添加的属性,以及管理当前Project的专用属性:

sonar-intellij-plugin-chinese-project-settings

分析

启动分析

在对插件完成设置后,你可以通过以下位置触发项目代码分析:

  • Project Tool Window中内容右键菜单中的SonarAnalyzer菜单
  • 代码编辑器右键菜单中的SonarAnalyzer菜单
  • SonarAnalyzer Tool Window中的开始按钮

支持的代码分析范围:

  • 项目文件
  • 模块文件
  • 包文件
  • 更改列表文件
  • 打开的文件
  • 选择的文件

开始代码分析后,插件将启动代码编译,编译成功后再使用SonarScanner完成代码分析。在SonarAnalyzer Tool Window的日志中会输出整个操作日志:

sonar-intellij-plugin-chinese-log

分析结果

当代码分析完成后会在SonarAnalyzer Tool Window的报告中展示完整的分析报告,同时也会在编辑器中对问题代码行进行提示:

sonar-intellij-plugin-tool-window

你可以按照以下分类过滤问题:

  • 类型
    • Bug
    • 异味
    • 漏洞
    • 安全热点
    • 重复块
  • 范围
    • 更新的文件
    • 未更新的文件
  • 解决
    • 已解决
    • 未解决

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

使用许可

GPL-3.0 © Yu Junyang