《阿里巴巴Java开发规约》IDEA插件与Eclipse插件使用指南

2017 年 10 月 17 日 云栖社区 骏烈

作者:阿里云研发效能事业部 骏烈


首先非常感谢大家对插件的支持与意见,这里详细介绍一下《阿里巴巴Java开发规约》IDEA插件与Eclipse插件的安装使用。


关于规约插件的背景介绍,可见上篇文章:

阿里巴巴Java开发规约插件全球首发!


阿里巴巴Java开发手册IDEA插件

使用指南


通过Jetbrains官方仓库安装


1. 打开 Settings >> Plugins >> Browse repositories...



2. 在搜索框输入alibaba即可看到Alibaba Java Code Guidelines插件,点击Install进行安装,然后重启IDE生效 


注意:因为插件zip包托管在Jetbrains官方CDN上,所以是从国外的服务器进行下载,可能会出现超时的情况


通过下载安装包进行安装


1. 打开插件页面

2. Settings >> Plugins >> Install plugin from disk...,选择刚刚下载的zip包安装,然后重启IDE


注意


最低支持IDEA版本为14.1(buildNumber 141.0,可以在About Intellij IDEA中查看版本信息),使用IDEA14的同学最好升级到14.1.7(历史版本传送门)


插件基于JDK1.7打包,所以IDEA启动时使用的JDK版本如果是1.6的话就会报Unsupported major.minor version 51.0异常,建议大家都升级一下。


中文乱码解决方法


1.修改字体——Appearance&Behavior -> Appearance -> UI Options -> Name 里面设置成微软雅黑(microsoft yahei light)

2.Switch Language to English and restart.


插件使用


目前插件实现了集团编码规约中的41条规则,大部分基于PMD实现,其中有4条规则基于IDEA实现,并且基于IDEA Inspection实现了实时检测功能。部分规则实现了Quick Fix功能,对于可以提供Quick Fix但没有提供的,我们会尽快实现,也欢迎有兴趣的同学加入进来一起努力。
目前插件检测有两种模式:实时检测、手动触发。


实时检测


实时检测功能会在开发过程中对当前文件进行检测,并以高亮的形式提示出来,同时也可以支持Quick Fix,该功能默认开启,可以通过配置关闭。


结果高亮提示


检测结果高亮提示,并且鼠标放上去会弹出提示信息。



Intention QuickFix功能


Alt+Enter键可呼出Intention菜单,不同的规则会提示不同信息的Quick Fix按钮



关闭实时检测


在某些情况下,我们不希望对代码提示违规信息,比如我们在阅读Github开源项目代码的时候,如果界面出现一堆红色、黄色的提示,此时心里肯定是飘过一万只草泥马。这个时候我们可以通过Inspection的设置关闭实时检测功能。


1.通过右键快速关闭(打开)所有规则的实时检测功能。



2. 通过Settings >> Editor >> Inspections 进行手动设置


也可以关闭某条规则的实时检测功能或者修改提示级别。


代码扫描


可以通过右键菜单、Toolbar按钮、快捷键三种方式手动触发代码检测。同时结果面板中可以对部分实现了QuickFix功能的规则进行快速修复。


触发扫描


在当前编辑的文件中点击右键,可以在弹出的菜单中触发对该文件的检测。



在左侧的Project目录树种点击右键,可以触发对整个工程或者选择的某个目录、文件进行检测。



如果您打开了IDE的Toolbar,也可以通过Toolbar中的按钮来触发检测,目前Toolbar的按钮触发的检测范围与您IDE当时的焦点有关,如当前编辑的文件或者是Project目录树选中的项,是不是感觉与右键菜单的检测范围类似呢。



使用快捷键(Ctrl+Shift+Alt+J)触发弹出窗口,选择检测范围;您也可自定义快捷键。



扫描结果


检测结果直接使用IDEA Run Inspection By Name功能的结果界面,插件的检测结果分级为Blocker、Critical、Major。默认按等级分组,方便统计每个级别错误的数量。



默认情况我们在结果面板需要双击具体违规项才能打开对应的源文件,开启Autoscroll To Source选项,单击面板中的文件名、或者是具体的违规项的时候IDEA会自动打开对应的源文件。



QuickFix


对于实现Quick Fix的规则,在结果面板中可以直接一键修复 注意:IDEA14、15可以通过左下角的灯泡进行一键修复操作。



阿里巴巴Java开发手册Eclipse插件

使用指南


首先非常感谢大家对插件的支持与意见,Eclipse的功能相对来说比较简单,希望有更多的同学加入进来一起完善。


插件安装


环境:JDK1.8,Eclipse4+。有同学遇到过这样的情况,安装插件重启后,发现没有对应的菜单项,从日志上也看不到相关的异常信息,最后把JDK从1.6升级到1.8解决问题。

Help -> Install New Software...



输入Update Site地址:https://p3c.alibaba.com/plugin/eclipse/update 回车,然后勾选Ali-CodeAnalysis,再一直点Next Next...按提示走下去就好。 然后就是提示重启了,安装完毕。



注意:有同学反映插件扫描会触发JPA插件启动后台线程执行不明任务,如果不需要的话卸载掉JPA插件即可,目前尚未发现原因


插件使用


目前插件实现了开发手册中的53条规则,大部分基于PMD实现,其中有4条规则基于Eclipse实现,支持4条规则的QuickFix功能。


* 所有的覆写方法,必须加@Override注解,
* if/for/while/switch/do等保留字与左右括号之间都必须加空格,
* long或者Long初始赋值时,必须使用大写的L,不能是小写的l)
* Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。


目前不支持代码实时检测,需要手动触发,希望更多的人加入进来一起把咱们的插件做得越来越来,尽量提升研发的使用体验。


代码扫描


可以通过右键菜单、Toolbar按钮两种方式手动触发代码检测。同时结果面板中可以对部分实现了QuickFix功能的规则进行快速修复。


触发扫描


在当前编辑的文件中点击右键,可以在弹出的菜单中触发对该文件的检测。



在左侧的Project目录树种点击右键,可以触发对整个工程或者选择的某个目录、文件进行检测。


也可以通过Toolbar中的按钮来触发检测,目前Toolbar的按钮触发的检测范围与您IDE当时的焦点有关,如当前编辑的文件或者是Project目录树选中的项,是不是感觉与右键菜单的检测范围类似呢。



扫描结果


简洁的结果面板,按规则等级分类,等级->规则->文件->违规项。同时还提供一个查看规则详情的界面。

清除结果标记更方便,支持上面提到的4条规则QuickFix。



查看所有规则



国际化



-END-

云栖社区

ID:yunqiinsight

云计算丨互联网架构丨大数据丨机器学习丨运维



登录查看更多
0

相关内容

粤港澳大湾区数字经济研究院是一家面向人工智能、数字经济产业和前沿科技的国际化创新型研究机构,坐落于深圳市深港科技创新合作区内。IDEA正与 MSR、Google Brain、DeepMind、OpenAI 等同行者一起推动人类 AI 技术前沿的发展。IDEA 的使命是立足社会需求,研发颠覆式创新技术并回馈社会,让更多的人从数字经济发展中获益。IDEA 秉承共享共赢共生的开源开放精神,积极营造自由而富有激情的创新工作环境,聚集全世界最聪慧的大脑一起创造人类社会最需要的价值。我们坚持科技擎天,产业立地,相信最好的研究从需求中来,到需求中去,最终惠及广大企业和受众。 IDEA 目前已聚集一批包括院士、世界著名大学教授、世界知名开源系统发明人在内的国际一流技术专家,致力于在 AI 基础技术与开源系统、人工智能金融科技、区块链技术与可信计算、企业级 AI 系统、产业智能物联网与智能机器人等领域研发国际顶尖成果,并培育一批国际领先科技企业,带动深圳乃至大湾区万亿级数字经济产业发展。 AIPT(AI 平台技术研究中心)致力于建设支撑人工智能算法、算力和数据的平台,通过具体项目的研发、实施和部署来推进 AI 技术的落地和产业化,团队成立以来,已发布 ReadPaper 论文阅读平台、BIOS 医疗知识图谱两款产品。AIPT 负责人-谢育涛曾任微软公司技术合伙人兼微软(中国)操作系统工程院院长。谢育涛在微软公司工作 20 余年,先后在微软美国总部的 Microsoft Office 产品组、必应团队、微软亚洲互联网工程院以及微软(中国)操作系统工程院、人工智能和云计算等多个研发部门担任重要职务。他在操作系统、搜索技术、人工智能、应用及服务领域拥有丰富的技术与管理经验。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
【阿里巴巴】 AI编译器,AI Compiler @ Alibaba,21页ppt
专知会员服务
44+阅读 · 2019年12月22日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
抖音爬虫
专知
3+阅读 · 2019年2月11日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Java开发者必看!机器学习开发库精选
云栖社区
5+阅读 · 2018年8月22日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
干货|全文检索Solr集成HanLP中文分词
全球人工智能
4+阅读 · 2017年8月27日
Arxiv
14+阅读 · 2020年1月27日
Arxiv
9+阅读 · 2018年3月23日
Arxiv
3+阅读 · 2018年3月13日
Arxiv
13+阅读 · 2018年1月20日
VIP会员
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
抖音爬虫
专知
3+阅读 · 2019年2月11日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Java开发者必看!机器学习开发库精选
云栖社区
5+阅读 · 2018年8月22日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
干货|全文检索Solr集成HanLP中文分词
全球人工智能
4+阅读 · 2017年8月27日
Top
微信扫码咨询专知VIP会员