在idea中,能提升编码效率的12种插件,你知道几个?
前言
基本上每个程序员都会写代码,但写代码的速度不尽相同。
为什么有些人,一天只能写几百行代码?
而有些人,一天可以写几千行代码?
有没有办法,可以提升开发效率,在相同的时间内,写出更多的代码呢?
今天我跟大家一起聊聊在idea中,能提升编码效率的12种插件,希望对大家有所帮助。
1、lombok
之前对lombok还有争议,到底该不该在项目中使用,为此我还专门写了一篇文章《迷茫了,我们该不该用lombok?》。
现在新版的idea已经内置了lombok插件,所以用它是一种趋势。
我之所以把lombok放在整篇文章的第一个介绍,是因为它真的可以帮我少写很多代码,特别是entity、DTO、VO、BO中的。
我们用User类举例,以前定义javabean需要写如下代码: public class User { private Long id; private String name; private Integer age; private String address; public User() { } public User(Long id, String name, Integer age, String address) { this.id = id; this.name = name; this.age = age; this.address = address; } public Long getId() { return id; } public String getName() { return name; } public Integer getAge() { return age; } public String getAddress() { return address; } public void setId(Long id) { this.id = id; } public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setAddress(String address) { this.address = address; } @Override public boolean equals(Object o) { if (this == o) returntrue; if (o == null || getClass() != o.getClass()) returnfalse; User user = (User) o; return Objects.equals(id, user.id) && Objects.equals(name, user.name) && Objects.equals(age, user.age) && Objects.equals(address, user.address); } @Override public int hashCode() { return Objects.hash(id, name, age, address); } @Override public String toString() { return"User{" + "id=" + id + ", name="" + name + """ + ", age=" + age + ", address="" + address + """ + "}"; } }
该User类中包含了:成员变量、getter/setter方法、构造方法、equals、hashCode方法。
咋一看,代码还是挺多的。而且还有个问题,如果User类中的代码修改了,比如:age字段改成字符串类型,或者name字段名称修改了,是不是需要同步修改相关的成员变量、getter/setter方法、构造方法、equals、hashCode方法全都修改一遍?
好消息是用lombok可以解决这个问题。
如果是idea2020.3之前的版本,需要在idea中安装如下插件:
但idea2020.3之后,idea已经内置了lombok的功能。
有了lombok插件,现在我们在idea只用这样写代码,就能实现上面的功能了: @ToString @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor @Getter @Setter public class User { private Long id; private String name; private Integer age; private String address; }
简直太轻松了,真的可以少写很多代码。
此外,我们还需要在项目的pom文件中,引入lombok的依赖包,不然项目会跑不起来。 2、Free Mybatis plugin
在国内mybatis已经成为了最主流的数据库框架了,该框架属于半自动化的ORM持久化框架,相对于hibernate这种全自动化的持久化框架更灵活,性能更高。
在mybatis中,我们需要自己定义mapper和对应的xml文件完成绑定。
在这里我们以用户表为例,首先需要定义UserMapper接口: public interface UserMapper { int insertUser(UserModel user); }
然后需要UserMapper.xml配置文件: <?xml version="1.0" encoding="UTF-8" ?> id, name, age, sex INSERT INTO user id, name, age, sex, #{id}, #{name}, #{age}, #{sex},
UserMapper.xml文件中,mapper标签的namespace对应UserMapper接口名,而insert标签的id=insertUser,正好对应UserMapper接口中的insertUser方法。
那么,在项目中如何通过UserMapper类中的getUser方法,能够快速访问UserMapper.xml文件中的getUser方法?
答:这就需要使用Free Mybatis plugin插件了。
安装了该插件之后,在UserMapper接口的接口名和方法名的左边,会多了两个绿色的箭头,我们点击该箭头,就能跳转到UserMapper.xml文件对应的mapper标签或者insertUser语句上。
此外,在UserMapper.xml文件的insertUser语句的左边,也会多出一个绿色的箭头,我们点击该箭头,也能跳转到UserMapper接口的insertUser方法上。
有了这个插件,我们就能在mapper和xml之间自由切换,自由玩耍了,再也不用像以前那样搜索来搜索去。 3、Translation
有些小伙伴,包括我自己可能英语不太好(我英语刚过四级)。
我们在给变量或者方法取名时,要想半天。特别是在阅读JDK英文文档时,遇到了一些生僻字,简直头大。
有个好消息是使用:Translation插件,能够让我们在文档中自由飞翔。
安装完Translation插件之后,在other settings中多了一个Translation菜单。
点击该菜单:
在右边的窗口中,可以选择翻译软件。
选中需要翻译的英文文档:
在右键弹窗的窗口中,选择Translation选项,会弹如下窗口:
一段英文段落,一下子翻译成了中文,简直太爽了。 4、Alibaba Java Coding Guidelines
如果你是从事Java开发工作的小伙伴,肯定看过阿里巴巴的《Java开发手册》。
该手册总结了我们在日常开发过程中,可能会遇到的问题。从编程规约、异常日志、单位测试、安全规约、Mysql数据库和工程结构,这6大方面,规范了开发的流程,确保我们能写出高效、优雅的代码。
但这些规范性的东西,仅仅靠人的自觉性,很难达到预期的效果。
为了解决这个问题,阿里巴巴推出了Alibaba Java Coding Guidelines插件,能够通过该插件,直接查出不合规范的代码。
安装了该插件之后,按下快捷键:Ctrl+Alt+Shift+J,可以可对整个项目或单个文件进行编码规约扫描。
扫描后会将不规范的代码按从高到低。
目前有三个等级显示在下方: Blocker 崩溃 Critical 严重 Major 重要
点击左边其中一个不规范的代码行,右边窗口会立刻显示不规范的详细代码,便于我们快速定位问题。 5、GenerateAllSetter
很多时候,我们需要给某个对象赋值,如果参数比较多的话,需要手写大量的setter或者getter代码。
有没有办法一键搞定呢?
答:有,使用GenerateAllSetter插件。
安装完插件之后,在创建的对象上,按快捷键下:alt + enter。
在弹出的窗口中选择:Generate all setter with default value。
就会自动生成如下代码:
简直太方便了。 6、SequenceDiagram
我们平时在阅读源码时,为了梳理清楚内部逻辑,经常需要画一些时序图。
如果我们直接画,会浪费很多时间,而且画的图不一定正确。
这时可以使用:SequenceDiagram插件。
选择具体某个方法,右键选择:sequence diagram选项:
之后,会出现时序图:
从此以后,能够成为画图高手了,完美。 7、CheckStyle-IDEA
在代码格式方面,有许多地方,需要我们注意,比如:无用导入、没写注释、语法错误、方法太长等等。
有没有办法,可以在idea中,一次性检测出上面的这些问题呢?
答:使用CheckStyle-IDEA插件。
CheckStyle-IDEA是一个检测代码格式是否满足规范的工具,其中用得比较多的是Google规范和Sun规范。
安装完插件后,在idea的下方会出现:CheckStyle选项:
点击左边的绿色按钮,可以扫描代码。在中间位置,会显示不符合代码规范的原因。
双击代码,即可直接跳转到具体代码:
8、JRebel and XRebel
在idea中开发Java项目,有个很不爽的地方是:每次修改一个类或者接口,都需要重启服务,否则不会运行最新地方。
而每次重启,都需要花大量的时间。
有没有办法,Java代码修改后不用重启系统,立即生效呢?
答:使用JRebel and XRebel插件。
如图:
安装完成之后,这里会有两个绿色的按钮,并且在右边多了一个选项Select Rebel Agents:
其中一个绿色的按钮,表示热部署启动项目,另外一个表示用debug默认热部署启动项目。
Select Rebel Agents选项中包含三个值: JRebel:修改完代码,不重启服务,期望代码直接生效。 XRebel:请求过程中,各个部分代码性能监控。例如:方法执行时间,出现的异常,SQL执行时间,输出的Log,MQ执行时间等。 JRebel+XRebel:修改完代码,不重启服务,并且监控代码。 9、Codota
说实话,idea现有的代码提示功能,已经很强大了。
但如果你使用过 Codota 插件,它会让你写代码的速度更上一层楼。
安装完插件之后,我们在写代码时,它会给你一些提示:
这些提示是基于ai统计出来的,非常有参考价值。 10、GsonFormat
很多时候,我需要把json中的参数,转换成实体对象中的参数。或者把实体对象中的参数,转换成json中的参数。
以前我们都是手动一个变量,一个变量的拷贝的。
但现在有个好消息是,idea的GsonFormat插件可以帮我们完成这件事。
安装完插件之后,先创建一个空类:
按下快捷键:alt + s,会弹出下面这个窗口:
然后在该窗口中,录入json数据。
点击确定按钮,就会自动生成这些代码:
简直帅呆了。 11、Rainbow Brackets
我们平时写代码的时候,括号是让我们非常头疼的地方,特别是代码逻辑很多,层层嵌套的情况。
一眼很难看出,代码是从哪个括号开始,到哪个反括号结束的。
有没有办法解决这个问题呢?
答:使用Rainbow Brackets插件。
安装完插件之后,括号和反括号,在代码中会自动按照不同颜色做区分:
非常显目,非常直观。 12、CodeGlance
有些时候,我们阅读的代码很多,比如某个类中包含的方法和成员变量很多。
从上往下,一点点往下翻,会浪费很多时间。那么有没有办法,能够快速翻到想看的代码呢?
答:有,可以使用CodeGlance插件。
安装完插件之后,在代码右侧,会出现下面这个窗口:
它是代码的缩略图,通过它我们能够非常快速的切换代码块。
以仁义闻名天下,宋仁宗和他的仁宗盛世宋仁宗赵祯作为宋朝的第四位皇帝,13岁正式登基,他即位的42年期间除去由刘太后干涉朝政的十年,宋仁宗亲自执政的时间长达32年!甩手帝王从来不是贴在宋仁宗身上的标签,在仁宗执政之时,
为什么说弱国无外交?这个故事告诉了你弱国的生存之道我们都常听说一句话叫做弱国无外交,放眼历史任何时期,这句话都像是真理一般无可撼动。从历史上看,弱国的生存之道只能把自己与强国的利益相绑定才能获得一丝的喘息机会。今天,我们就从左传中
对革命领导人的暗杀列宁遇刺险丧命头条创作挑战赛1918年8月30日,列宁准备在这一天晚上到莫斯科河南岸的米赫里逊工厂,参加那里的群众演说。吃过晚饭,他就急忙坐车赶往那里。当他到达那里的时候,会场上已经聚集了上万名
吴太伯与季札的让国,境界相差甚远,前者利国利民,后者洁身利己大家好,我是四冶读史。太伯和仲雍商量好之后,决定一起逃到荆蛮去。事情的起因是,周太王1的第三子季历很贤明,他的儿子姬昌又有圣人气象,周太王就想把王位传给季历,以便传给姬昌。太伯和仲
我的党路历程大家上午好!感谢大家聆听关于我的党路历程。欢迎批评指正。初识共产党是我在初中的时候,记得当时父亲要参加单位组织的合唱比赛,还要穿上量身打造的新郎西服,曲目是没有共产党就没有新中国,
读史小记人品好真的能保平安大宋景德二年,东京御殿之内,正在御试进士。大殿之内檀香缥缈,肃穆沉静。考生揭开试题,或沉吟,或拧眉,或微笑,或叹息。有一个年轻的考生,手捧题卷,眼中闪过一道惊讶之色。他仔细审视试题
一二传媒软文营销互联网媒体推广是时代进步的印迹人生没有捷径可以走横着省下的路就会变成竖着的坑,早晚都要经过。软文营销强调的是软广告为主,它没有华丽的词藻,也没有像硬广告那么张扬,相反它会显得很低调,甚至让人看不出是一篇软文。这
如何注册微信小程序?原创轻栈注册微信小程序的方法有很多,有在官方渠道注册的,有在第三方平台注册的。制作小程序的流程如图所示,注册小程序是第一步。想象一下你现在要开一家小店出售商品,首先你要先拥有店铺的
AI创作漂亮的女性角色近年来随着人工智能技术的不断发展,AI创作美女图片已经成为一种趋势。许多人使用AI技术来创作出具有高度逼真度的美女图片,这些图片甚至可以媲美真实人物。那么,使用AI创作美女图片究竟
实体清单刚宣布,中国芯就有两大进展!外媒简直太快了近日,美方再次宣布决定,把我们28个实体列入实体清单。继华为中芯国际长江存储等之后,美方不断扩容实体清单,据统计目前清单上已经有639家我国实体。美方的目的就是要限制我们半导体人工
全球清洁能源龙头,中国电建绿电运营抽水蓄能潜力巨大(报告出品方分析师中邮证券丁士涛刘依然)1公司概况全球清洁能源建设龙头1。1定位世界一流企业,全产业链优势显著公司成立于2011年,是原中国水利水电建设集团公司中国水电工程顾问集团
今年春节,我家小岛被游客挤爆了BomBomBom!一连串的烟花,惊扰了我的美梦我习惯性拿起手机,想打给物业投诉突然惊觉,我已经回到农村过节半夜响彻小镇的烟花爆竹清晨漫山遍野的鸡啼报春邻居们互相串门道贺拜年这才是
春节读书滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中。很多人原来很大度,大气,宽容,重情重义。
唐山丰南河头老街开街!掀起汉唐风,等你来打卡河北日报客户端唐山丰南河头老街开街。河北日报讯(通讯员李超)运河之上,近百架唐风灯笼排阵同时点亮,千米唐灯璀璨明亮,河头盛世繁华再现,盛唐光景跃然眼前。1月20日晚,在春节前夕,由
回家人日记丨兄弟,顺个车啊今年不一样,有更多人选择回家。长途返乡,准备与叮嘱无需多言。不过,还有不少暂时未买车的职场新人,选择了搭同乡或是亲朋的顺风车。尽管都是搭顺风车,但搭顺风车也同样也是有段位的。开车有
越南最脏温泉,允许男女混浴,生意好到经常爆满越南有一个被称为是最脏的温泉的地方,当地允许男女一起混浴,各国游客到越南旅行,都会体验一下当地这种特色的项目!(此处已添加小程序,请到今日头条客户端查看)所谓的最脏的温泉,就是当地
广州自驾游之(温泉私汤)来花都3次!这家私汤秘境,在我内心排名No。1没想到,离广州市区1h竟有一处世外桃源,来这里体验不一样的禅意假期。泡森林私汤制香囊划木舟。中国第一个芳香度假区汁这里的空气都是淡淡的
光遇追忆季物品具体一览附低配手机怎么畅玩光遇云游戏光遇追忆季物品展示是什么?光遇追忆季马上就要开始了,玩家想知道追忆季有哪些物品,下面小编给大家整理了光遇追忆季物品展示,快来看看吧!光遇追忆季物品展示1。光遇追忆季物品展示大全如下
仪式感满满三亚热门景点星级酒店推出新年新玩法新海南客户端南海网南国都市报1月19日消息(记者沙晓峰)随着春节脚步临近,三亚旅游日渐升温。这个春节假期,三亚热门景点星级酒店有何新玩法?1月19日,记者从三亚市旅游推广局获悉,三
黄山热雪沸腾冬游升温黄山风景区管委会最新统计数字显示,截至1月17日,景区2023年以来累计接待游客105182人,比2019年同期增长168。09。其中,16日17日分别接待游客14045人和136
网络中国节春节福利多多!黄山市春节期间景区优惠政策请收藏黄山风景区政策期限1月14日1月20日1月27日2月2日优惠政策黄山市民及居民,凭有效身份证或本地居住证,未办理身份证的未成年人凭户口簿,可享受门票免票优惠。地址黄山区汤口镇咨询电
热雪沸腾黄山冬游快速升温云海日出雪景交相辉映(央广网发姚建军摄)央广网黄山1月18日消息(记者张宣剑)元旦和春节前的两场冬雪,加上疫情防控政策优化调整利好影响,以及有力有效宣传营销,黄山冬雪旅游快速升温。