记录一些IDEA开发中可能用到的插件库。

相关博文:

微信公众号:Java基基:如何个性化设置自己的 IntelliJ IDEA

第三部分内容:

微信公众号:匠心零度:整理了一些 IDEA 中比较骚的技巧,发现第一个就没用过!



插件安装:

IDEA下面安装插件是在File下面的setting中设置,如图:

一、插件

图片背景插件background Image Plus

插件名称叫background Image Plus,在插件里面搜索安装即可,如下图:

安装完重启后可以在菜单View下面的Set Background Image里面设置,选好本地一张图片设置下亮度和模式即可。



翻译插件Translation

开发的时候经常会遇到看不懂的英语单词,再去百度多麻烦,这里推荐这款翻译插件,插件名称叫做,安装后选中单词按下快捷键ALT+1即可。



CodeGlance右侧显示代码

在编辑代码最右侧,显示一块代码小地图 这款插件使用效果图如下,个人感觉还是有点用处,滚动条太小,有这个地图,拖动起来更加方便一点。

Grep Console自定义设置控制台输出颜色

Grep Console 自定义设置控制台输出颜色,这样控制台就能比较明显的看到警告或者错误的信息,方便查找问题。

Maven Helper

日常开发中,可能经常会遇到jar包冲突等问题,就需要通过查看maven依赖树来查看依赖情况。这种方式不是很高效,这里推荐一个插件,安装之后,直接打开pom文件,即可查看依赖数,还能自动分析是否存在jar包冲突。

一旦安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab)。

进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependencies as List(列表形式查看所有依赖)、All Dependencies as Tree(树结构查看所有依赖)。并且这个页面还支持搜索。

VisualVM Launcher-JYM分析工具

Java VisualVM 是 JDK 自带的图形化 JVM 分析工具,是进行 JVM 分析和调优的必备工具。在安装有 JDK 环境的设备上,在命令行输入jvisualvm命令就可以打开 Java VisualVM。如果你的 IDEA 安装了 VisualVM Launcher,右上方会新增几个按钮,直接点击就可以打开 Java VisualVM。

FindBugs-IDEA

可以对多种级别的内容进行finbugs。

分析完之后会有一个视图进行提示,详细的说明是哪种问题。

阿里巴巴代码规约检测

Java代码规约扫描插件以今年年初发布的《阿里巴巴Java开发规约》为标准,作为Eclipse、IDEA的插件形式存在,检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的,感兴趣的同学可以去开看插件源码。

阿里巴巴规约插件包含三个子菜单:编码规约扫描、关闭试试检测功能。

并且,该插件支持在编写代码的同时进行提示,

String Manipulation

字符串日常开发中经常用到的,但是不同的字符串类型在不同的地方可能有一些不同的规则,比如类名要用驼峰形式、常量需要全部大写等,有时候还需要进行编码解码等。这里推荐一款强大的字符串转换工具——String Manipulation。

文本转换操作

切换样式(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)

选定文本大写

样式反转

Un/Escape

Un/Escape 选中的 java 文本

Un/Escape 选中的 javascript 文本

Un/Escape 选中的 HTML 文本

Un/Escape 选中的 XML 文本

Un/Escape 选中的 SQL 文本

Un/Escape 选中的 PHP 文本

将 diacritics(accents) 转换为 ASCII

将非ASCII 转换为转义的Unicode

将转义的Unicode转换为字符串

Encode/Decode

Encode 选中的文本为 MD5 Hex16

De/Encode 选中的文本为 URL

De/Encode 选中的文本为 Base64

递增/递减

递增/递减所有找到的数字

复制行并且递增/递减所有找到的数字

创建序列:保持第一个数字,递增替换所有其他数字

递增重复的数字

按自然顺序排序

按行倒序

按行随机排序

区分大小写A-z排序

区分大小写z-A排序

不区分大小写A-Z排序

不区分大小写Z-A排序

按行长度排序

通过子选择行排序:每行仅处理一个选择/插入符号

对齐

通过选定的分隔将选定的文本格式化为列/表格

将文本对齐为左/中/右

过滤/删除/移除

grep选定的文本,所有行不匹配输入文字将被删除。 (不能在列模式下工作)

移除选定的文本

移除选定文本中的所有空格

删除选定文本中的所有空格

删除重复的行

只保留重复的行

删除空行

删除所有换行符

其他

交换字符/选择/线/标记

切换文件路径分隔符:Windows < – > UNIX

安装好插件后,选中需要处理的内容后,按快捷键Alt+m,即可弹出工具功能列表。

Mybatis plugin

目前ORM框架中,Mybatis非常受欢迎。但是,同时给很多开发带来困扰的就是Mybatis需要很多xml的配置文件,有的时候很难去进行修改。

这里推荐一款神器,可以让你像编辑java代码一样编辑mybatis的文件。

Intellij Idea Mybatis插件主要功能:

提供Mapper接口与配置文件中对应SQL的导航

编辑XML文件时自动补全

根据Mapper接口, 使用快捷键生成xml文件及SQL标签

ResultMap中的property支持自动补全,支持级联(属性A.属性B.属性C)

快捷键生成@Param注解

XML中编辑SQL时, 括号自动补全

XML中编辑SQL时, 支持参数自动补全(基于@Param注解识别参数)

自动检查Mapper XML文件中ID冲突

自动检查Mapper XML文件中错误的属性值

支持Find Usage

支持重构从命名

支持别名

自动生成ResultMap属性

Key promoter X

Key Promoter X 是一个提示插件,当你在IDEA里面使用鼠标的时候,如果这个鼠标操作是能够用快捷键替代的,那么Key Promoter X会弹出一个提示框,告知你这个鼠标操作可以用什么快捷键替代。

当我使用鼠标查看一个方法都被哪些类使用的时候,就会提示:

AceJump

AceJump允许您快速将光标导航到编辑器中可见的任何位置,只需点击“ctrl +;”,然后输入一个你想要跳转到的字符,之后键入匹配的字符就跳转到你想要挑战的地方了。



如以上代码,我想在这个类中,跳转到println那个位置,只需要按下快捷键:“ctrl +;”,然后输入println,即可定位到目标位置。

上图中,我输入了pri三个字母后,页面提示三个可选项,分别用字母F、J、G标注,这时候只需要按下对应字母,即可快速定位到指定位置,是不是很方便。

activate-power-mode

二、使用技巧

ctrl+shift+enter不只是用来行尾加分号的

ctrl+shift+enter其实是表示为您收尾的意思,不只是用来给代码加分号的。比如说:

这段代码,我们还需要为if语句加上大括号才能编译通过,这个时候你直接输入ctrl+shift+enter,IDEA会自动帮你收尾,加上大括号的。

不要动不动就使用IDEA的重构功能

IDEA的重构功能非常强大,但是也有时候,在单个类里面,如果只是想批量修改某个文本,大可不必使用到重构的功能。比如说:

上面的代码中,有5个地方用到了rabbitTemplate文本,如何批量修改呢?

首先是使用ctrl+w选中rabbitTemplate这个文本,然后依次使用5次alt+j快捷键,逐个选中,这样五个文本就都被选中并且高亮起来了,这个时候就可以直接批量修改了。

强大的symbol

如果你依稀记得某个方法名字几个字母,想在IDEA里面找出来,可以怎么做呢?

直接使用ctrl+shift+alt+n,使用symbol来查找即可。

比如说:

你想找到checkUser方法。直接输入user即可。

如果你记得某个业务类里面有某个方法,那也可以使用首字母找到类,然后加个.,再输入方法名字也是可以的。

如何找目录

使用ctrl+shift+n后,使用/,然后输入目录名字即可.

自动生成not null判断语句

自动生成not null这种if判断,在IDEA里有很多种办法,其中一种办法你可能没想到。



当我们使用rabbitTemplate. 后,直接输入notnull并回车,IDEA就好自动生成if判断了。

按照模板找内容

这个也是我非常喜欢的一个功能,可以根据模板来找到与模板匹配的代码块。比如说:

想在整个工程里面找到所有的try catch语句,但是catch语句里面没有做异常处理的。

catch语句里没有处理异常,是极其危险的。我们可以IDEA里面方便找到所有这样的代码。

首先使用ctrl+shift+A快捷键弹出action框,然后输入Search Struct

选择Search Structurally后,回车,跳转到模板视图。

点击Existing Templates按钮,选择try模板。为了能找出catch里面没有处理异常的代码块,我们需要配置一下CatchStatement的Maximum count的值,将其设置为1。

点击Edit Variables按钮,在界面修改Maximum count的值。

最后点击find按钮,就可以找出catch里面没有处理异常的代码了。

三、IDEA技巧

原文地址:乔志勇笔记 匠心零度

3.1var 声明

3.2null 判空

3.3notnull 判非空

3.4nn 判非空

3.5for 遍历

3.6fori 带索引的遍历

3.7not 取反

3.8if 条件判断

3.9cast 强转

3.10return 返回值

IDEA插件及相关使用技巧的更多相关文章

  1. 【转贴】gdb中的信号(signal)相关调试技巧

    一篇不错的帖子,讲的是gdb中的信号(signal)相关调试技巧 转自Magic C++论坛  http://www.magicunix.com/index_ch.html  http://www.m ...

  2. 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解

    前端html.CSS快速编写代码插件-Emmet使用方法技巧详解   Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...

  3. 快速开发 jQuery 插件的 10 大技巧(转)

    1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面.而方法可能应 ...

  4. JS、JQ相关小技巧积攒

    JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime()  获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面 ...

  5. 快速开发 jQuery 插件的 10 大技巧

    在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了. ...

  6. 快速开发 jQuery 插件的 10 大技巧(转)

    转自:http://www.oschina.net/news/41776/jquery-10-tips 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模 ...

  7. 编写优秀jQuery插件的10个技巧

    前言:在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行 ...

  8. JQuery插件datatables相关api

    学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...

  9. sublime text3配置及相关小技巧

    1.下载&安装: 官方地址:http://www.sublimetext.com/,sublime text3又更新了,支持不依赖插件进行侧边栏颜色的更改,同时自带的皮肤颜色也有四种,十分方便 ...

随机推荐

  1. 各开源协议BSD、Apache Licence 2.0、GPL

    以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有 ...

  2. git分支的创建与分支之间合并的底层原理

    开发一个版本,采用的发布流程: (1).从master的最新代码拉取一个开发分支,在上面进行开发(这里假设开发分支为dev) (2).在开发分支上不断地进行提交版本,期间,master也会有因为其他版 ...

  3. VScode中配置C++运行环境

    目录 VScode中配置C++运行环境 1. 哪些插件 2. 配置开始 3. 编写代码并运行 VScode中配置C++运行环境 关于安装mingw的教程,网络上已经有很多了,这里不再赘述,下面就看VS ...

  4. linux操作系统可以ping通ssh连接长时间无响应

    一.问题描述 某集群数据节点服务器频繁无法连接,服务器间出现可ping通但ssh无法连接的情况,使用带外地址登录后远程控制也无法显示正常界面,重启后会短暂恢复. 二.排查问题 重启服务器后检查服务器S ...

  5. 如何在面试中介绍自己的项目经验(面向java改进版)

    本人于3年前写的博文,如何在面试中介绍自己的项目经验,经过大家的捧场,陆续得到了将近7万个点击量,也得到了众多网站公众号的转载,不过自己感觉,这篇文章更多的是偏重于方法,没有具体给到Java方面相关的 ...

  6. 如果你的 HTML 里全是 div,那就要小心了

    做前端开发的同学都知道,一个网页的基本组成部分是 HTML,JavaScript 和 CSS.开发人员通常更关注 JavaScript 和 CSS ,实践着各种语言规范和设计模式.对于 HTML 的关 ...

  7. idea thymeleaf页面变量报错解决

    IDEA在thymeleaf页面编写变量,如${user.id}会出现红色波浪下划线错误,提示Validates unresolved references and invalid expressio ...

  8. FastApi学习(一)

    前言 学习不止 正文 介绍 FastApi是PythonWeb框架的'新晋干员',虽然年轻但是很能打 目前已有 12k start GitHub 官网 为什么说他能打呢?它内部使用了 Python 的 ...

  9. 【C++】《Effective C++》第五章

    第五章 实现 条款26:尽可能延后变量定义式的出现时间 只要定义了一个变量而其类型带有一个构造函数或析构函数,那么 当程序的控制流到达这个变量定义式时,你得承受这个构造成本. 当这个变量离开这个作用域 ...

  10. LeetCode841 钥匙和房间

    有 N 个房间,开始时你位于 0 号房间.每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间. 在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i ...