平台代码检查工具:sonarLint+sonarqube安装教程

加强对代码质量的管控要求,不允许新增代码部分出现严重、重要、主要等sonar扫描问题。

     大家按以下文档安装开发工具对应的代码检测插件,请大家务必重视、执行.这里只介绍前端开发VSCode,后端开发Eclipse,两种代表性的编译器安装sonarLint+sonarqube方法,其它编译器同理.

VSCode安装sonarlint方法

插件介绍

SonarLint是⼀个免费的IDE扩展,允许您在编码问题存在之前修复它们;像拼写检查器一样, SonarLint在编写代码时会突出显示错误和安全漏洞,并提供明确的修复指导,以便在代码提交之前修 复它们。通过流⾏的ide(Eclipse、Idea、VSCode)和流⾏的编程语⾔,SonarLint帮助开发⼈员编 写更好、更安全的代码!SonarQube 是⼀个开源的代码分析平台, ⽤来持续分析和评测项目源代码的质量。通过SonarQube我 们可以检测出项⽬中重复代码, 潜在bug, 代码规范,安全性漏洞等问题,并通过SonarQube web UI展⽰出来。⽬前公司持续集成环境中已部署该服务,自动构建过程中对项⽬代码进⾏扫描、并输出报 告。SonarQube提供SonarLint绑定,为SonarLint提供在线的代码规范管理服务,使得全公司软件从 开发到集成构建采用统⼀的代码规范。

插件安装 

打开vscode插件⾯板 

在搜索栏搜索【sonarlint】 

点击install(中文为安装), 安装即可

注:公司内网⽹络环境下,可以搜索到插件,但是⽆法直接安装,可能需要通过⼿⼯下载vsix文件,然后本 地选择此vsix文件进⾏安装.

插件配置

插件默认使用本地默认的审查规则,可通过增加连接SonarQube或者SonarCloud的配置,实现联动服务端的统⼀配置,统⼀审查标准,具体配置如下```json{"sonarlint.connectedMode.connections.sonarqube": [ {"serverUrl": "http://10.54.100.36:9000/","token": "8c67862b97b10d57f8f8214bc77a6afab674cfb9", } ],"sonarlint.connectedMode.project": {"projectKey": "bcip" },"sonarlint.ls.javaHome": "D:\\Program Files\\java\\jdk1.8.0_201","sonarlint.ls.vmargs": "-Xmx1024m","sonarlint.pathToNodeExecutable": "D:\\root\\nodejs\\node.exe",}``

插件使⽤ 

查看sonarlint rules

审查文件 打开js、vue等文件,⾃动在Problems中显⽰此文件审查存在的问题,同时,在问题出可悬浮提示审查规则及订正方法

Eclipse安装SonarLint插件使用说明

平台代码检查工具:sonarLint+sonarqube

SonarLint是一个免费的IDE扩展,允许您在编码问题存在之前修复它们;

像拼写检查器一样,SonarLint在编写代码时会突出显示错误和安全漏洞,并提供明确的修复指导,以便在代码提交之前修复它们。通过流行的ide(Eclipse、Idea、VSCode)和流行的编程语言,SonarLint帮助开发人员编写更好、更安全的代码!

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。通过SonarQube我们可以检测出项目中重复代码,潜在bug, 代码规范,安全性漏洞等问题,并通过SonarQube webUI展示出来。目前公司持续集成环境中已部署该服务,自动构建过程中对项目代码进行扫描、并输出报告。SonarQube提供SonarLint绑定,为SonarLint提供在线的代码规范管理服务,使得全公司软件从开发到集成构建采用统一的代码规范。

1.SonarLint插件安装(eclipse)

1.1在线安装

Eclipse工具栏选择Help->Eclipse MarketPlace,如下图所示:

弹出EclipseMarketPlace界面,在Find栏输入sonar就可以搜索出sonar相关的插件,选择SonarLint 5.5.0.23614  ,Install->Confirm->选择同意协议->Finish,如下图所示:

安装成功后,会弹出“SoftwareUpdates”界面提示需要重启Eclipse使安装生效,点击“Yes”,重启之后就可以使用了,如下图所示:

1.2离线安装

官网下载地址下载离线安装包:

(https://bintray.com/sonarsource/SonarLint-for-Eclipse/releases),如下图所示:

在Eclipse菜单栏中找到Help栏,选择Help->InstallNew Software,如下图所示:

弹出Install界面,点击“Add”,弹出“AddRepository”界面,自定义一个name,点击Archive,选择已下载的zip文件,点击OK进行安装,如下图所示:

选择选择全部组件,点击next会进行相应的检查,如下图所示:

选择同意协议,点击“Finish”开始安装,如下图所示:

等待一段时间,安装成功后,会弹出“SoftwareUpdates”界面提示需要重启Eclipse使安装生效,点击“Yes”,重启之后就可以使用了,如下图所示:

1.3 SonarLint的使用

SonarLint可以不绑定SonarQube项目进行代码扫描,使用的是插件自带代码规范。与公司代码质量扫描规则不一致,扫描结果不同,故建议绑定公司的SonarQube项目后进行代码扫描。

1.3.1绑定SonarQube服务

1) 项目目录树上点击右键,选择【Sonar】->【Bind toSonarQube or SonarCloud...】:

2) 输入SonarQube Server URL

3) 选择SonarQube授权方式,默认选择“Token”:

4) 填写SonarQube Token:

5) 填写连接名,无所谓,随便填:

6) 绑定SonarQube项目:

7) 选择工程中所有项目:

8) 绑定SonarQube项目,输入b,找到”bcip-develop”(重要:针对自助渠道项目):

9) 点击【Finish】完成绑定。接下来,可以进行代码检查(扫描)。

1.3.2项目代码扫描

Eclipse工具栏选择Window->Show View->other,如下图所示:

弹出“Show View”界面,输入Sonar,选择“SonarLintIssues”点击“OK”,如下图所示:

打开需要进行代码审查的java或js文件,SonarLint将会自动进行代码审查,在控制台输出审查结果,如下图所示:

SonarLint默认在打开文件的时候自动进行代码审查。如果不想使用自动审查,设置方法:右键单击项目->Properties->SonarLint->取消“Run SonarLint automatically”->Apply->OK,如下图所示:

手动审查:右键审查文件->SonarLint->Analyze分析文件,如下图所示:

双击控制台的审查结果,可以自动定位到具体被审查内容的位置。如果修改代码,控制台将会自动刷新审查结果,如下图所示:

右键审查结果,选择“Ruledescription”,查看针对单个问题的分析及改进建议,如下图所示:

 

2.SonarLint插件安装(Idea)

2.1安装

Settings->Plugins->BrowseRepositories 搜索sonarLint点击安装。

点击【In'stall】安装,安装完成后,点击【Restart IDE】:

2.2配置关联SonarQube服务

关联SonarQube服务器上的项目:

关联SonarQube项目之后就会共享服务器上的代码规则。在idea下面一栏找到sonarLint,可以分析单个文件,也可单独分析未提交的代码。

其他基本操作跟eclipse基本上没多少差别。

好啦,本期内容孙叫兽就分享到这里,我们下期见,你知道的越多,你不知道的越多!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jboss as安装配置_书评:JBoss AS 7:配置,部署和管理

jboss as安装配置我热切地接受Packt Publishing邀请复审JBoss AS 7:配置,部署和管理,因为自从我上次使用JBoss已有数年了,我很想了解有关JBoss AS 7的更多信息。 我已经写过关于《 JBoss AS 7配置,部署和管理》一书的第…

程序员通过CSDN如何获取收益

大家好,我是孙叫兽 ,本期内容给大家分享如何使用CSDN一边学习,一遍赚取收益,这样学习的时候也会产生动力. 废话不多说,直接看近7天收益. 博主如何赚取收益 对于博主这些创作者来说,收益主要有付费专栏,VIP文章收益,活动收益,红包收益,问答收益,打赏收益,付费资源收益,下载VIP分…

在Java8中包装设计模式

环绕模式未在GOF书中列出,但对于以下问题非常有用: 循环构造,例如执行while / while / for循环 秒表周围的一些代码。 用运行时异常包装检查的异常 初始化和清理,例如创建/销毁线程池或打开/关闭文件等 将上下文信息添加到线…

《Windows驱动开发技术详解》之编程加载NT式驱动

之前我们加载驱动都是利用INSTDRV这个应用,其原理是在注册表中写入相应的字段,这一节我们手动编写代码去加载驱动,其原理类似: 设备驱动程序的动态加载主要由服务控制管理程序(Service Control Manager,SCM&#xff09…

教你如何成为解决问题的高手

最近看到很多初级或者准备入坑的小伙伴在问答模块提问问题 ,有的在QQ群或者微信群提问题,这个是很多新手程序员都会经历的一个过程,这种事情很正常,主要是自己都不清楚问题是什么或者描述不清楚,别人如何帮你解答呢? 目录 1.澄清问题 2.关联经验 3.问题重现 4.寻找差异 5…

mongodb存储数据_在MongoDB中存储分层数据

mongodb存储数据继续使用MongoDB进行 NoSQL之旅,我想谈一谈一个经常出现的特定用例:存储分层文档关系。 MongoDB是很棒的文档数据存储,但是如果文档具有父子关系,该怎么办? 我们可以有效地存储和查询此类文档层次结构吗…

程序员如何快速成长为IT精英

很多程序员工作了很多年,仍然只学到了皮毛点的业务和技术,技术长时间没有提升,一直拖拖拉拉处于某个水平,没有接触到核心业务,也难于成为公司的中流砥柱和骨干。那么程序员该如何成长呢? 1.主动学习 时刻保持危机感,对知识保持好奇心,完善自己的职业规划和知识体系,掌…

hdu1521 指数型母函数

排列组合 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3438 Accepted Submission(s): 1439Problem Description有n种物品,并且知道每种物品的数量。要求从中选出m件物品的排列数。例如有两种物品…

【Java从入门到天黑|06】高质量男性SpringBoot入门及原理(基础总结版,强烈建议收藏)

目录 SpringBoot简介 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 helloWorld

JavaFX实际应用程序:AISO HRC-Matic

“ Real-World JavaFX Apps”系列中的第三个应用程序是一种重型数据输入应用程序,由称为HRC-Matic的关系数据库支持。 它是由AISO在日内瓦开发的。 AISO是一家专门开发基于JavaFX的业务应用程序的公司。 他们还在研究我在本系列的第一个博客( 欧洲广播联…

Feather包实现数据框快速读写,你值得拥有

什么是Feather? Feature是一种文件格式,支持R语言和Python的交互式存储,速度更快。目前支持R语言的data.frame和Python pandas 的DataFrame。 Feather收到了Apache arrow 项目的支持,Apache Arrow是Apache基金会下一个全新的开源项…

一文教你学会需求分析与管理

大家好,我是孙叫兽,本期给大家分享需求分析与管理,在项目开始或者需求整理时,这方面的知识显得尤为重要,常言道:良好的开始是成功的一半! 1.需求的定义 产品需求是在一定的时期,一定的场景中,无论是心理上还是生理上的,用户有着某种“需要”,这种“需要”用户自己不…

java 编写代码_Java 7:如何编写非常快速的Java代码

java 编写代码当我第一次写此博客时,我的目的是向您介绍ThreadLocalRandom类,它是Java 7中新增的用于生成随机数的类。 我在一系列微基准测试中分析了ThreadLocalRandom的性能,以了解其在单线程环境中的性能。 结果相对令人惊讶:尽…

POJ 1172 DFS

&#xff08;感谢wzc学长的幻灯片&#xff09; 单组数据 注意从必经点能到标记过的点则此点不是分裂点。 //By: Sirius_Ren #include <cstdio> #include <queue> #include <cstring> using namespace std; int tot1,first[51],cnt,v[101],nxt[101],n,vis[51…

文件夹或者文件比对工具 Beyond Compare

文件夹或者文件比对工具 Beyond Compare 之前有同事离职了。 没有工作交接。 同事的代码有一部分也没有提交版本库。 结果就是线上的代码和版本库中的文件数量和代码内容不一致。 这时就需要进行两方比对&#xff0c;查找不一致的地方。 如果人工…

Lucene查询(搜索)语法示例

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中&#xff0c;您将了解Lucene。 您将了解为什么这样的库很重要&#xff0c;然后了解Lucene中搜索的工作方式。 此外&#xff0c;您将学习如何将Lucene Search集成到您自己的应用程序中&#xff0c;以…

远程桌面在自己电脑显示很小的解决办法

背景:最近在某银行办公,使用的是云桌面,疫情期间有一周是在加班办公,使用自己的电脑登录云桌面,然后电脑屏幕显示云桌面很小,看文档及代码十分难受。问问同事,这个问题终于得到了解决。 显示如下: 这个云桌面在我电脑就显示2/3宽度的大小,看代码太难受了,排除右上角向…

《JavaScript100例|01》之javaScript实现俄罗斯方块,唤起了女朋友儿时的回忆!

导读&#xff1a;小时候我们经常打游戏玩俄罗斯方块&#xff0c;用的是游戏机。 现在我们学会了敲代码&#xff0c;简单用JS实现一下这个游戏把。 目录 先看效果 操作说明 代码实现 完整代码 先看效果 操作说明 打开编译器&#xff0c;讲代码复制进去&#xff0c;在浏览…

JBOSS内存溢出处理

JBOSS内存溢出处理 前几天公司一个项目的服务器坏了&#xff0c;就换了一个备份服务器顶替一下&#xff0c;但是没有跑一会就宕机了&#xff0c;一直报java.lang.OutOfMemoryError。。。。一看到这里&#xff0c;就知道是内存溢出&#xff0c;但是JBoss的内存配置已经达到1024M…