SonarQube 插件之 Issues Report & SonarLint 的配置及使用
转载自:https://cloud.tencent.com/developer/article/1010599
1、Issues Report Plugins 介绍
使用 Issues Report Plugins 插件可以为我们生成一份 HTML 格式的问题报告,对于开发人员来说是很有好处的,我们可以在改动代码后 Push 代码到仓库前,检测一下代码质量,生成问题报告,提醒自己避免提交有明显问题的代码到仓库中,当然也可以去 SonarQube Web 上查看详细情况。
2、Issues Report Plugins 使用
Issues Report Plugins 插件的使用很简单,只需要 Maven 命令行指定参数执行即可。注意:SonarQube > 5.1 版本,该插件已经过时了,不过我们还是直接可以使用,免安装。5.1 版本以后由 SonarLint 替代该插件。
mvn sonar:sonar
-Dsonar.analysis.mode=preview # 设置 mode,默认为preview
-Dsonar.issuesReport.lightModeOnly=true # 设置是否只生成新增问题的报告
-Dsonar.issuesReport.html.enable=true # 设置生成 HTML 格式的报告
-Dsonar.issuesReport.html.name=xxxx # 设置生成 HTML 报告的文件名字
-Dsonar.issuesReport.html.location=/xx/xx # 设置生成 HTML 报告的文件存储路径
-Dsonar.issuesReport.console.enable=true # 设置报告输出到控制台
当设置-Dsonar.issuesReport.html.enable=true时,该插件默认会生成两份 HTML 报告,一份是包含所有问题的报告 ,一份为只包含新增问题的报告 ,除非设置了-Dsonar.issuesReport.lightModeOnly=true,则只生成包含新问题的报告。默认生成报告的路径为<maven_project>/target/sonar/issues-report/,使用-Dsonar.issuesReport.html.location 可修改生成路径。报告默认文件名为 issues-report.html (全部问题报告),issues-report-light.html(新增问题报告),使用-Dsonar.issuesReport.html.name=xxxx 可修改生成的文件名称。当设置-Dsonar.issuesReport.console.enable=true时,则不会生成HTML文件报告,会将检测结果打印到控制台输出。
示例:
$ mvn sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.issuesReport.html.enable=true
...
[INFO] HTML Issues Report generated: /Users/wanyang3/Documents/hwy/IdeaProjects/mavenDemo/target/sonar/issues-report/issues-report.html
[INFO] Light HTML Issues Report generated: /Users/wanyang3/Documents/hwy/IdeaProjects/mavenDemo/target/sonar/issues-report/issues-report-light.html
...
$ mvn sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.issuesReport.console.enable=true
...
[INFO]
------------- Issues Report -------------
+2 issues
+1 critical
+1 major
-------------------------------------------
...


3、SonarLint For IntelliJ IDEA 安装及配置
SonarLint 是为了替代上边 Issues Report Plugins 插件,并且更方便的集成到我们日常的开发工具里面去。SonarLint For IntelliJ IDEA 就是专门为 IDEA 工具提供的插件,它可以为开发人员时刻返回新的 Bug 以及其他质量问题,并且很直观显示在工具上边。现在支持的语言有 Java、 JavaScript 、PHP。
SonarLint 插件安装也很简单,点击 IntelliJ -> Plugins -> Browse Repositories -> 输入 SonarLint search -> install 等待下载安装完毕,点击 restart 重启 IDEA即可。

设置 SonarLint 全局配置。点击 IntelliJ -> Other Settings -> SonarLint General Settings -> Add 弹出框添加一个 New SonarQube Server,这里我们添加之前本地搭建的 SonarQube 服务 URL:http://127.0.0.1:9000,服务别名为:my_sonarqube,下一步配置认证,可以设置 Token 或者 Login / Password,配置完成后点击 Update Binding,更新绑定信息,最后点击 Apply 即可。注意:认证 Token 可以去 SonarQube Web 上生成一个认证 Token 或者用用户名密码登录均可。


设置 SonarLint 项目配置,点击 IntelliJ -> Other Settings -> SonarLint Project Settings -> Bind to Server,选择刚我们配置的全局配置 my_sonarqube,在 SonarQube project 项目列表里面选择对应的项目,最后点击 Apply 即可。注意:这里的项目列表是从配置的 SonarQube 服务上拉取下来的项目,如果没有加载,可以点击 Update project list 重新加载。

以上配置完成后,就可以愉快的使用 SonarLint 插件了,这里我们以 mavenDemo 项目为例,故意写一些垃圾代码,看下检测结果吧。

参考资料
SonarQube 插件之 Issues Report & SonarLint 的配置及使用的更多相关文章
- vim插件管理器的安装和配置-windows
# vim插件管理器的安装和配置-windows ### 前言------------------------------ vim做一框功能强大的编辑器,扩展功能令人称奇,插件机制非常灵活- 本篇推荐 ...
- jenkins展示report测试报告的配置
HTML报告展示 1. 需要HTML Publisher plugin插件 2. 在workspace下的工程(构建)中的目录中存储测试报告 在Jenkins中新建一个job,进入配置项. 首先通过p ...
- SonarQube代码质量管理平台 的安装、配置与使用
SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 准备工作: 1.jdk(不再介绍) 2.sonarqube:ht ...
- SonarQube(5.0.1) 环境的安装配置
SonarQube 安装步骤 确定 JDK 和 MySQL 已经成功安装. 下载 SonarQube 及工具 SonarQube Runner,下载地址:http://www.sonarqube.or ...
- Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程
最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id=& ...
- Bootstrap Multiselect插件使用步骤以及常见参数配置介绍
Multiselect是基于jQuery插件的,它可以以下拉列表的形式为用户提供选择内容,能进行单选或者多选.它应用的主要步骤如下: 一,引入需要的相关js和css文件 既然是Bootstrap插件, ...
- datetimepicker bootstrap的时间插件显示位置问题及其他配置
位置问题: 在bootstrap中用 datetimepicker 时默认是在输入框下面弹出的, 但是遇到输入框在屏幕最下面时,日期选择框会有一部分在屏幕下面,显示不了,因此需要能够从上面弹出. 可以 ...
- SublimeText3 插件的使用和本身的配置
--------------------20180109----------------------- Part1:如何设置代码字体变大变小 1.点击菜单栏 Sublime Text 中prefere ...
- TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理
FileManager最新版已升级到9.x,9.x新增了对文件的批量处理,但仍然有部分同学在继续使用6.x,这里大叔整理了一份自己在配置6.x时,遇到的问题和解决方案. 安装 下载安装包解压后,在根目 ...
随机推荐
- 自己写雪花算法IdWorker
package com.aiyusheng.shopping.util; import java.lang.management.ManagementFactory; import java.net. ...
- HBase学习(四) 二级索引 rowkey设计
HBase学习(四) 一.HBase的读写流程 画出架构 1.1 HBase读流程 Hbase读取数据的流程:1)是由客户端发起读取数据的请求,首先会与zookeeper建立连接2)从zookeepe ...
- treap(大根堆)模板
大根堆与小根堆性质相比简单很多,不用加特判 直接上代码: //treap(大根堆性质) #include<bits/stdc++.h> #define rint register int ...
- 8000字讲透OBSA原理与应用实践
摘要:OBSA项目是围绕OBS建立的大数据和AI生态,其在不断的发展和完善中,目前有如下子项目:hadoop-obs项目和flink-obs项目. 文章作者:存储服务产品部开发者支持团队 OBS存储服 ...
- 当我们谈论算法我们在谈论什么:由疫情核酸检测想到的分治算法(Divide-and-Conquer)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_159 北京的疫情一波未平一波又起,由此看来,战"疫"将是一场旷日持久的战争,绝不能掉以轻心.轻易言胜.病毒随时 ...
- Python 爬取途虎养车 全系车型 轮胎 保养 数据
Python 爬取途虎养车 全系车型 轮胎 保养 数据 2021.7.27 更新 增加标题.发布时间参数 demo文末自行下载,需要完整数据私聊我 2021.2.19 更新 增加大保养数据 2020. ...
- 【Harmony OS】【ArkUI】ets开发 简易视频播放器
前言:这一次我们来使用ets的Swiper组件.List组件和Video组件制作一个简易的视频播放器.本篇是以HarmonyOS官网的codelab简易视频播放器(eTS)为基础进行编写.本篇最主要 ...
- .NET 6学习笔记(4)——解决VS2022中Nullable警告
很多小伙伴在升级到Visual Studio 2022后发现,如果我们去新建一个.NET 6的项目,和原先VS2019中一摸一样的写法,却会出现CS8618 Non-nullable property ...
- BZOJ3262/Luogu3810 陌上花开 (三维偏序,CDQ)
一个下午的光阴之死,凶手是细节与手残. 致命的一枪:BIT存权值时: for(; x <= maxx; x += x&-x) t[x] += w; //for(; x <= n; ...
- 从C过渡到C++(1)——GNU/Linux
从C过渡到C++(1)--GNU/Linux 目录 从C过渡到C++(1)--GNU/Linux 大名鼎鼎的GNU/Linux GNU GNU的组成 一点补充 MinGW 运行时库 额外的内容 Min ...