idea 插件的使用 进阶篇(个人收集使用中的)
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 包到工程
idea 插件的使用 进阶篇(个人收集使用中的)的更多相关文章
- idea 插件的使用 进阶篇
CSDN 2016博客之星评选结果公布 [系列直播]零基础学习微信小程序! "我的2016"主题征文活动 博客的神秘功能 idea 插件的使用 进阶篇(个人收集 ...
- 2. web前端开发分享-css,js进阶篇
一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无从下手 ...
- web前端开发分享-css,js进阶篇
一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践 经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无 从 ...
- form表单那点事儿(下) 进阶篇
form表单那点事儿(下) 进阶篇 上一篇主要温习了一下form表单的属性和表单元素,这一片主要讲解用JavaScript如何操作form. 目录: 表单操作 取值 赋值 重置 校验 提交 技巧 不提 ...
- Java IDE 编辑器 --- IntelliJ IDEA 进阶篇 生成 hibernate 实体与映射文件
原文:转:Java IDE 编辑器 --- IntelliJ IDEA 进阶篇 生成 hibernate 实体与映射文件 2011-04-30 12:50 很多人不知道怎么用 IntelliJ IDE ...
- 从零开始学Sketch——进阶篇-b
从零开始学Sketch——进阶篇 Sketch是一款矢量绘图应用,而矢量绘图无疑是目前进行网页.图标以及界面设计的最好方式. 在初识了Sketch的界面布局和基础工具之后,我们就可以开始进入高阶的Sk ...
- python进阶篇
python进阶篇 import 导入模块 sys.path:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到. import sys ...
- [Android Pro] AndroidStudio IDE界面插件开发(进阶篇之Editor)
转载请注明出处:[huachao1001的专栏:http://blog.csdn.net/huachao1001/article/details/53885981] 我们开发AndroidStudio ...
- 从零开始学Sketch——进阶篇
本文转自 http://www.jianshu.com/p/ff70b5f35c8f 从零开始学Sketch——进阶篇 Sketch是一款矢量绘图应用,而矢量绘图无疑是目前进行网页.图标以及界面设计的 ...
随机推荐
- PAT 1012 数字分类
https://pintia.cn/problem-sets/994805260223102976/problems/994805311146147840 给定一系列正整数,请按要求对数字进行分类,并 ...
- jQuery empty() vs remove()
https://stackoverflow.com/questions/3090662/jquery-empty-vs-remove http://www.cnblogs.com/yeer/archi ...
- fetch 代替 XMLHttpRequest (json-server 模拟后台接口)
一.fetch 是 XMLHttpRequest 的替代方案.说白了就是除了 ajax 获取后台数据之外也可以用fetch 来获取. 二.fetch 的支持性还不是很好.挂载于BOM中可以通过浏览器直 ...
- 判断Excel版本信息
可以通过获取application对应的Version属性获取当前打开的Excel的版本信息(Application.Version).
- C/C++的内存泄漏检测工具Valgrind memcheck的使用经历
Linux下的Valgrind真是利器啊(不知道Valgrind的请自觉查看参考文献(1)(2)),帮我找出了不少C++中的内存管理错误,前一阵子还在纠结为什么VS 2013下运行良好的程序到了Lin ...
- 修改VCL源码实现自定义输入对话框
来自:https://yq.aliyun.com/wenji/88428 通过修改VCL源码实现自定义输入对话框 在BCB中有两个函数可以实现输入对话框:InputBox和InputQuery,其实I ...
- python之Map函数
# map()函数使用举例 # 功能:map()接受一个函数f和一个或多个list,将f依次作用在list的每个元素,得到一个新的列表 # 语法:map(方法名,列表,[列表2]) # 注意:map( ...
- git worktree 是什么及其使用场景
先上总结: 在git worktree出现之前, git切换分支前后的文件都只存在在当前文件夹下, git worktree出现之后, 我们可以将分支切换到其他文件夹下 比如如果你的项目有很多个版本分 ...
- 【POI每日题解 #9】SKA-Piggy Banks
题目链接 题意: 有一棵环套树 求最少从多少个节点出发能沿边走过整棵树 环套树 并查集求联通块 有几块就砸几个 太简单不发代码了 不过某大佬的环套树找环dfs让我研究了好久… 贴一下以Orz #inc ...
- 洛谷 P2596 [ZJOI2006]书架 解题报告
P2596 [ZJOI2006]书架 题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书, ...