IDEA插件及相关使用技巧
IDEA插件及相关使用技巧
记录一些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插件及相关使用技巧的更多相关文章
- 【转贴】gdb中的信号(signal)相关调试技巧
一篇不错的帖子,讲的是gdb中的信号(signal)相关调试技巧 转自Magic C++论坛 http://www.magicunix.com/index_ch.html http://www.m ...
- 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解
前端html.CSS快速编写代码插件-Emmet使用方法技巧详解 Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...
- 快速开发 jQuery 插件的 10 大技巧(转)
1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面.而方法可能应 ...
- JS、JQ相关小技巧积攒
JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime() 获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面 ...
- 快速开发 jQuery 插件的 10 大技巧
在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了. ...
- 快速开发 jQuery 插件的 10 大技巧(转)
转自:http://www.oschina.net/news/41776/jquery-10-tips 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模 ...
- 编写优秀jQuery插件的10个技巧
前言:在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行 ...
- JQuery插件datatables相关api
学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...
- sublime text3配置及相关小技巧
1.下载&安装: 官方地址:http://www.sublimetext.com/,sublime text3又更新了,支持不依赖插件进行侧边栏颜色的更改,同时自带的皮肤颜色也有四种,十分方便 ...
随机推荐
- Appium自动化如何控制多设备并行执行
前言: 如何做到,控制多设备并行执行测试用例呢. 思路篇 我们去想下,我们可以获取参数的信息,和设备的信息,那么我们也可以针对每台设备开启不一样的端口服务.那么每个服务都对应的端口,我们在获取设备列 ...
- eclipse-切换分支-用途描述
操作细节参考文章 https://www.cnblogs.com/sunrunzhi/p/6509448.html 分析切换分支的用途: 背景: 1. 项目开发使用分支1.分支2: 2. 分支1代码是 ...
- spark常用提交任务的基本的参数配置
#!/bin/bash #队列名 根据yarn的队列提交 realtime_queue=root #提交的任务名 my_job_name="OrderQZ" spark-shell ...
- Spring Security OAuth2.0认证授权一:框架搭建和认证测试
一.OAuth2.0介绍 OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不 需要将用户名和密码提供给第三方应用或分享他们数据的所有内容. 1.s ...
- Tensorflow--------tf.nn库
1.tf.nn :提供神经网络相关操作,包括卷积神经(conv),池化操作(pooling),归一化,loss,分类操作,embedding,RNN,Evaluation. 2.tf.layers:高 ...
- 在Termux(非root的安卓Linux模拟器)中安装和使用ftp服务器(pure-ftpd)(原创)[简单极致]
Termux是单用户的linux模拟器,所以应用的专属文件夹下面.usr/etc/下面没有passwd和group文件对多用户组配置,只在.usr/bin/下面有passwd二进制应用可以改变当前用户 ...
- 如何实现CentOS服务器的扩容??
Linux的硬盘识别: 一般使用"fdisk -l"命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. 1.关闭服务器加上新硬盘 2.启动 ...
- .NET Core部署到linux(CentOS)最全解决方案,常规篇
本文为大家介绍使用 .NET Core部署到Linux服务器的方法,通过本文你将了解到Linux在虚拟机下的安装.Xshell,Xftp的使用方法.git在linux下的交互使用以及.net core ...
- 【Oracle】常见等待事件处理
1.查看数据库中需要关注的等待事件: select sw.seq#,sw.sid||','||s.serial# sids,s.username,sw.event,sw.P1,sw.p2,sw.p3, ...
- 【ORA】ORA-00030: User session ID does not exist.
今天巡检,查询锁相关的情况的时候,确认业务后,准备将锁干掉,但是干掉的时候报了一个错误,ORA-00030 发现回话不存在,我以为pmon进程已经将锁进程kill掉了,就再次查看,发现,还是存在 这个 ...