idea 插件的使用 进阶篇(个人收集使用中的)
恭喜你,如果你已经看到这篇文章,证明在idear使用上已经初有小成!那么就要向着大神进发了!
下边就是大神之路!
插件的设置
在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的,只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已,开发了很多优秀的插件。
? 官网插件库:https://plugins.jetbrains.com/
? 如上图标注 1 所示,IntelliJ IDEA 对插件进行了很好的分类:
? All plugins 显示所有插件。
? Enabled 显示当前所有已经启用的插件。
? Disabled 显示当期那所有已经禁用的插件。
? Bundled 显示所有 IntelliJ IDEA 自带的插件。
? Custom 显示所有我们自行安装的插件,如果你自己装了很多次插件的话,这个选项会用得比较多。
? 如上图标注 2 所示,启用的插件是被勾选的,如果要禁用一个插件,去掉勾选即可。
? 如上图标注 3 所示,弹出 IntelliJ IDEA 公司自行开发的插件仓库列表,供下载安装。
? 如上图标注 4 所示,弹出插件仓库中所有插件列表供下载安装。
? 如上图标注 5 所示,浏览本地的插件文件进行安装,而不是从服务器上下载并安装。
? 需要严重注意的是:在国内的网络下,很经常出现显示不了插件列表,或是显示了插件列表,无法下载完成安装。这时候请自行开VPN,一般都可以得到解决。
? 如上图红圈所示,如果 IntelliJ IDEA 打开一个它可以识别并且支持的文件类型,它会提示你它有对应的插件进行支持,你可以安装对应的插件来加以兼容此类文件。
插件的安装
? 如上图 Gif 演示,在线安装 IntelliJ IDEA 插件库中的插件。
? 如上图 Gif 演示,离线安装本地插件文件。
插件名称 插件介绍 官网地址
Key promoter 快捷键提示 https://plugins.jetbrains.com/plugin/4455?pr=idea
CamelCase 驼峰式命名和下划线命名交替变化 https://plugins.jetbrains.com/plugin/7160?pr=idea
CheckStyle-IDEA 代码规范检查 https://plugins.jetbrains.com/plugin/1065?pr=idea
FindBugs-IDEA 潜在 Bug 检查 https://plugins.jetbrains.com/plugin/3847?pr=idea
MetricsReloaded 代码复杂度检查 https://plugins.jetbrains.com/plugin/93?pr=idea
Statistic 代码统计 https://plugins.jetbrains.com/plugin/4509?pr=idea
JRebel Plugin 热部署 https://plugins.jetbrains.com/plugin/?id=4441
CodeGlance 在编辑代码最右侧,显示一块代码小地图 https://plugins.jetbrains.com/plugin/7275?pr=idea
GsonFormat 把 JSON 字符串直接实例化成类 https://plugins.jetbrains.com/plugin/7654?pr=idea
Eclipse Code Formatter 使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。 https://plugins.jetbrains.com/plugin/6546?pr=idea
Ace Jump AceJump其实是一款能够代替鼠标的软件,只要安装了这款插件,可以在代码中跳转到任意位置。按快捷键进入 AceJump 模式后(默认是 Ctrl+J),再按任一个字符,插件就会在屏幕中这个字符的所有出现位置都打上标签,你只要再按一下标签的字符,就能把光标移到该位置上。换言之,你要 移动光标时,眼睛一直看着目标位置就行了,根本不用管光标的当前位置。
lombok 如果你在用 Lombok,就得装个这个插件啦,省掉一堆 getter、setter,有关 Lombok 的详细介绍参考 使用 Lombok 来缩减 Java 代码
LiveEdit Intellij IDEA 默认自动保存的,根本不用 Ctrl+s,
LiveEdit 能自动更新浏览器里的网页,所以F5也省了
如果是是双屏的话,基本上所见即所得了
IdeaJad 反编译工具
GenerateToString
JUnitGenerator
WebServicePlugin
JarTool
GenerateSerialVersionUID
FindBugs FindBugs 通过检查类文件或 JAR 文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析,可以找出常见的 bug 或者可能潜在 bug 的地方。
Jrebel 热部署神器,改完代码直接生效,不用重启啦!
具体参考 利用Jrebel热部署提升工作效率
可以切换变量命名风格,如 SogouInc、sogouInc、sogou—inc、SOGOU_INC
一、与JIRA集成
jira是一个广泛使用的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。idea可以很好的跟它集成,参考下图:
File -> Settings ->Task -> Servers 点击右侧上面的+号,选择JIRA,然后输入JIRA的Server地址,用户名、密码即可
然后打开Open Task界面
如果JIRA中有分配给你的Task,idea能自动列出来
代码修改后,向svn提交时,会自动与该任务关联
将每次提交的代码修改与JIRA上的TASK关联后,有什么好处呢? 我们每天可能要写很多代码,修复若干bug,日子久了以后,谁也不记得当初为了修复某个bug做了哪些修改,不要紧张,只要你按上面的操作正确提交,idea都会帮你记着这些细节
如上图,选择最近提交的TASK列表,选择Switch to,idea就会自动打开该TASK关联的源代码,并定位到修改过的代码行。当然如果该TASK已经Close了,也可以选择Remove将其清空。
二、UML类图插件
idea已经集成了该功能,只是默认没打开,仍然打开Settings界面,定位到Plugins,输入UML,参考下图:
确认UML 这个勾已经勾上了,然后点击Apply,重启idea,然后仍然找一个java类文件,右击Diagram
然后,就自个儿爽去吧
三、SSH集成
java项目经常会在Linux上部署,每次要切换到SecureCRT这类终端工具未免太麻烦,idea也想到了这一点:
然后填入IP、用户名、密码啥的
点击OK,就能连接上linux了
注:如果有中文乱码问题,可以在Settings里调整编码为utf-8
四、集成FTP
点击上图中的…,添加一个Remote Host
填写ftp的IP、用户名、密码,根路径啥的,然后点击Test FTP Connection,正常的话,应该能连接,如果连接不通,点击Advanced Options,参考下图调整下连接选项
配置了FTP连接后,在提交代码时,可以选择提交完成后将代码自动上传到ftp服务器
五、Database管理工具
先看效果吧:
有了这个,再也不羡慕vs.NET的db管理功能了。配置也很简单,就是点击+号,增加一个Data Source即可
唯一要注意的是,intellij idea不带数据库驱动,所以在上图中,要手动指定db driver的jar包路径。
六、CheckStyle-IDEA
通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。
软件安装成功之后,首先要设置规则。可以通过
Preferences—>Other Settings —>CheckStyles
进行设置,可以直接将文件添加进来,然后就可以对具体的文件进行检查了。
同样,该插件也有个单独的视图,该视图可以展示检查结果。
配置checkstyle
File->Setting->Other Setting->checkStyle至下图界面
点击红框选中的绿色加号至上层页面添加自定义的检查规则,选择附件中的my_checks.xml,Next,Finish后至下图。
选中新添加的检查规则,并Apply即可。
使用checkStyle检查文件
在File->Setting->Editor->CheckStyle中选择是否进行实时检查。
(1) 实时检查,实时地对不规范的书写进行提示 ,并在编辑页面中进行颜色标识。
(2) 取消实时检查后,可在打开的文件中右击选择Check Current File对当前页面进行检查,此时可在下图所示的CheckStyle Scan 中查看不规范内容,点击条目可查看对应出错语句。
其他
如有一些必须的但不符合检查规则的地方需要忽略检查可以按照下述进行注释
// CSOFF: MagicNumber
需要忽略的代码段
// CSON: MagicNumber
其中MagicNumber为检查的一个步骤,表示检查魔法数,可以替换成其他的检查步骤,比如要忽略该段的行长度,可将MagicNumber改为LineLength即可。
七、lombok 注解:
lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。
Lombok 注解在线帮助文档:http://projectlombok.org/features/index.
下面介绍几个我常用的 lombok 注解:
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
@EqualsAndHashCode:实现equals()方法和hashCode()方法
@ToString:实现toString()方法
@Cleanup:关闭流
@Synchronized:对象同步
@SneakyThrows:抛出异常
下面是简单示例
1.不使用 lombok 的方案
1
2 public class Person {
3
4 private String id;
5 private String name;
6 private String identity;
7 private Logger log = Logger.getLogger(Person.class);
8
9 public Person() {
10
11 }
12
13 public Person(String id, String name, String identity) {
14 this.id = id;
15 this.name = name;
16 this.identity = identity;
17 }
18
19 public String getId() {
20 return id;
21 }
22
23 public String getName() {
24 return name;
25 }
26
27 public String getIdentity() {
28 return identity;
29 }
30
31 public void setId(String id) {
32 this.id = id;
33 }
34
35 public void setName(String name) {
36 this.name = name;
37 }
38
39 public void setIdentity(String identity) {
40 this.identity = identity;
41 }
42 }
43
2.使用 lombok 的方案
1
2 @Data
3 @Log4j
4 @NoArgsConstructor
5 @AllArgsConstructor
6 public class Person {
7
8 private String id;
9 private String name;
10 private String identity;
11
12 }
13
上面的两个 java 类,从作用上来看,它们的效果是一样的,相比较之下,很明显,使用 lombok 要简洁许多,特别是在类的属性较多的情况下,
同时也避免了修改字段名字时候忘记修改方法名所犯的低级错误。最后需要注意的是,在使用 lombok 注解的时候记得要导入 lombok.jar 包到工程