12个超好用的IntelliJ IDEA 插件!你用过几个?
一、前言
IntelliJ IDEA
如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。
其实笔者也是一枚从Eclipse转IDEA的探索者,随着近期的不断开发实践和调试,逐步体会到这款智能IDE带来的巨大开发便利,在强大的插件功能支持下,诸如对Git和Maven的支持简直让人停不下来,各种代码提示,包括JS更是手到擒来,最终不得不被这款神奇的IDE所折服。为了让身边更多的小伙伴参与进来,决定写下这篇文章。
二、IDEA VS Eclipse 核心术语比较
由下图可见:两者最大的转变就在于工作空间概念的转变,并且在IDEA当中,Project和 Module是作为两个不同的概念,对项目结构是具有重大意义的,这也恰恰是许多IDEA初学者觉得困扰的地方。
1 为什么要取消工作空间?
答:简单来说,IDEA不需要设置工作空间,因为每一个Project都具备一个工作空间!!对于每一个IDEA的项目工程(Project)而言,它的每一个子模块(Module)都可以使用独立的JDK和MAVEN配置。这对于传统项目迈向新项目的重构添加了极大的便利性,这种多元化的灵活性正是Eclipse所缺失的,因为开始Eclipse在初次使用时已经绑死了工作空间。
2 此外,很多新手都会问,为什么IDEA里面的子工程要称为Module ?
答:其实就是模块化的概念,作为聚合工程亦或普通的根目录,它称之为Project,而下面的子工程称为模块,每一个子模块之间可以相关联,也可以没有任何关联。
三、IDEA的插件介绍
1.插件的安装
打开setting文件选择Plugins选项
Ctrl + Alt + S
File -> Setting
分别是安装JetBrains插件,第三方插件,本地已下载的插件包。详情见往期关于settings的文章。
2.各种插件
1. activate-power-mode 和 Power mode II
根据Atom的插件activate-power-mode的效果移植到IDEA上
写代码是整个屏幕都在抖动,activate-power-mode是白的的,Power mode II色彩更酷炫点。
2.Background Image Plus
idea背景修改插件,让你的idea与众不同,可以设置自己喜欢的图片作为code背景。
安装成功之后重启,菜单栏的VIew标签>点击Set Background Image(没安装插件是没有这个标签的),在弹框中路由选择到本地图片,点击OK即可。
3.Grep console
自定义日志颜色,idea控制台可以彩色显示各种级别的log,安装完成后,在console中右键就能打开。
并且可以设置不同的日志级别的显示样式。
可以直接根据关键字搜索你想要的,搜索条件是支持正则表达式的。
4.Free Mybatis plugin
mybatis 插件,让你的mybatis.xml像java代码一样编辑。我们开发中使用mybatis时时长需要通过mapper接口查找对应的xml中的sql语句,该插件方便了我们的操作。
安装完成重启IDEA之后,我们会看到code左侧或多出一列绿色的箭头,点击箭头我们就可以直接定位到xml相应文件的位置。
mapper
xml
5.MyBatis Log Plugin
Mybatis现在是java中操作数据库的首选,在开发的时候,我们都会把Mybatis的脚本直接输出在console中,但是默认的情况下,输出的脚本不是一个可以直接执行的。
如果我们想直接执行,还需要在手动转化一下。
MyBatis Log Plugin 这款插件是直接将Mybatis执行的sql脚本显示出来,无需处理,可以直接复制出来执行的,如图:
执行程序后,我们可以很清晰的看到我们执行了哪些sql脚本,而且脚本可以执行拿出来运行。
6.String Manipulation
强大的字符串转换工具。使用快捷键,Alt+m。
切换样式(camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)
转换为SCREAMING_SNAKE_CASE (或转换为camelCase)
转换为 snake_case (或转换为camelCase)
转换为dot.case (或转换为camelCase)
转换为hyphen-case (或转换为camelCase)
转换为hyphen-case (或转换为snake_case)
转换为camelCase (或转换为Words)
转换为camelCase (或转换为lowercase words)
转换为PascalCase (或转换为camelCase)
选定文本大写
样式反转
7.Alibaba Java Coding Guidelines
阿里巴巴代码规范检查插件,当然规范可以参考《阿里巴巴Java开发手册》。
8.Lombok
Java语言,每次写实体类的时候都需要写一大堆的setter,getter,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担,这也是Java被诟病的一种原因。Lombok则为我们解决了这些问题,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要编写或生成get/set等方法,很大程度上减少了代码量,而且减少了代码维护的负担。
安装完成之后,在应用Lombok的时候注意别忘了需要添加依,maven为例:
9.Key promoter
Key promoter 是IntelliJ IDEA的快捷键提示插件,会统计你鼠标点击某个功能的次数,提示你应该用什么快捷键,帮助记忆快捷键,等熟悉了之后可以关闭掉这个插件。
10.Gsonformat
可根据json数据快速生成java实体类。
自定义个javaBean(无任何内容,就一个空的类),复制你要解析的Json,然后alt+insert弹出如下界面或者使用快捷键 Alt+S,在里面粘贴刚刚复制的Json,点击OK即可。
11.Restfultoolkit
Spring MVC网页开发的时候,我们都是通过requestmapping的方式来定义页面的URL地址的,为了找到这个地址我们一般都是cmd+shift+F的方式进行查找,大家都知道,我们URL的命名一个是类requestmapping+方法requestmapping,查找的时候还是有那么一点不方便的,restfultookit就能很方便的帮忙进行查找。
例如:我要找到/user/add 对应的controller,那么只要Ctrl+斜杠 ,(图片来自于网络)
就能直接定位到我们想要的controller。这个也是真心方便,当然restfultookit还为我们提供的其他的功能。根据我们的controller帮我们生成默认的测试数据,还能直接调用测试,这个可以是解决了我们每次postman调试数据时,自己傻傻的组装数据的的操作,这个更加清晰,比在console找数据包要方便多了。(图片来自于网络)
12.JRebel
JRebel是一种热部署生产力工具,修改代码后不用重新启动程序,所有的更改便可以生效。它跳过了Java开发中常见的重建、重新启动和重新部署周期。
四、最后
欢迎大家一起交流,喜欢文章记得点个赞哟,感谢支持!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Java 函数优雅之道 | 8月20号云栖夜读
点击订阅云栖夜读日刊,专业的技术干货,不容错过! 阿里专家原创好文 1.Java函数优雅之道 本文总结了一套与Java函数相关的编码规则,旨在给广大Java程序员一些编码建议,有助于大家编写出更优雅、更高质、更高效的代码。这套编码规则,通过在高德采集部门的实践,已经取得了不错的成效。阅读更多》》 2.领导者必备:三元简化模型,助你加速团队成长 很早之前,现代管理之父德鲁克提出过一个影响深远的观点,“21世纪的组织,最有价值的资产是组织内的知识工作者和他们的生产力。”现代企业的各位管理者,遇到最大的两类问题就是战略和组织,看不到、想不到、做不到,这“三不到”的问题归根结底都是人的问题。能够看到、想到、做到“重视人才”的企业,成功的概率总是会大那么一点点的。你的公司呢?阅读更多》》 3.共享学习:蚂蚁金服数据孤岛解决方案 如果有A、B、C三位同学,他们各自手上有10、15、20块钱,这时需要在相互不知道对方有多少钱的情况下,不借助力第三方来计算三个人一共有多少钱。请问这时候,我们如何实现呢?——这,就是最经典的秘密共享场景。在看完这篇文章后,答案就出来了~阅读更多》》 4.阿里巴巴在应用性...
-
下一篇
Serializer和ModelSerializer
ModelSerializer 先使用ModelSerializer测试一下结果,例: # models.py ###### from django.db.models import Model, CharField, BooleanField, ForeignKey class TestModel(User): name = CharField(max_length=64, name='name') class TestModel(Model): status = BooleanField(default=False, name='status') user = ForeignKey(User, db_column="user_id", name='user', on_delete=CASCADE, related_name="user_test") ###### # seriailzer.py ###### from models import TestModel from rest_framework.serializers import ModelSerializer, Int...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2全家桶,快速入门学习开发网站教程
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境