先换个主题吧,让界面和代码显示 耳目一新 清晰明了 发车:
第一款:Xcode-Dark Theme
第二款:Vuesion Theme
第三款:One Dark theme
第四款:Dark Purple Theme
在插件市场搜索安装,切换也很简单,直接选择对应的主题 即可互相切换:
常用的设置:
1.Lombok注解开启
2.修改全局Maven配置:
3.修改快捷键跟eclipse一样(刚刚从eclipse转过来的可以使用一下 后期还是自带的默认的快建键比较强大 忍受一下适应适应会受益匪浅) 这样做的后果就是和eclipse一样使用IDEA
4.代码提示忽略大小写 (默认值是提供大写的类匹配 有点恶心)
5.修改冲突的快捷键(可以改成自己想要的快捷键)
6.去掉background的勾选
7.自动编译开关
8.智能导包开关:自动导入不明确的结构 智能优化包
9.悬浮提示开关:把鼠标放在相应的类上,就会出现提示(这个功能有点坑 修改代码的时候一直有悬浮提示 让人很烦 慎选)
10.取消单行显示tabs的操作:
11.项目文件编码:在文件中输入文字时他会自动的转换为Unicode编码,然后在idea中发开文件时他会自动转回文字来显示 为了防止文件乱码,你的properties文件,一般都不会出现中文乱码!。
12.滚轴修改字体大小:按住Ctrl+滚轴可以修改编辑器字体大小
13.设置行号显示:这个好像不需要设置了 默认开启了
14.去掉Mybatis的xml sql文件的颜色背景
3.安装第三方的插件
1.Key promoter X 这个不用多说 快捷键提示插件 安装之后 不知道快捷键的情况下 最右边点击可以查看
Lombok 这个太牛逼了,应该大家都在用
2.插件安装界面
3.类的时序图和调用链分析插件:SequenceDiagram 阅读源码的神器
简介:
-
生成简单序列图。
-
单击图形形状来导航代码。
-
从图中删除类。
-
将图表导出为图像。
-
通过“设置”>“其他设置”>“序列”从图表中排除类
-
使用:光标定位在方法名或者方法体内,在右键菜单里选择Sequence Diagram。然后可以填方法的调用深度,默认是5.
4.google-java-format 代码自动格式化
简介:google-java-format插件可以帮助我们不通过对应的快捷键就可以实现特定方式下自动格式化代码。
5.Leetcode Editor 插件 算法代表你聪不聪明 所以掌握一定量的算法会让你事半功倍
必备插件安装:
6.Rainbow brackets 让代码中的括号更具标识性
6.1 还有一个 标识自定义的变量和应用的,比较直观:Rainbow Variable 建议安装!
7.Translation
翻译插件,阅读源码必备
8.GenerateSerialVersionUID
Alt + Insert 快速生成SerialVersionUID
9.GsonFormat (Ait+s) 将json解析成类
Json Parser json串格式化工具,不用打开浏览器了 JSON Parser是用于验证和格式化JSON字符串的轻量级插件
10.RestfulToolkit 和 http-editor-client (二者有冲突 可选其一 同时使用也没问题 不过不确定)
1.快速跳转到Restful Api处( use: Ctrl(Command) + \ or Ctrl + Alt + N )
2.展示Resultful 接口结构
3.http 简单请求工具
11.GenerateAllSetter
简介:可以直接生成这个对象的所有set方法,非常方便。
使用:将光标放在变量声明的那一行,注意不能是分号后面。然后按快捷键Alt + Enter,就会弹出菜单供你选择。
12.lombok plugin 必不可少
13.Free Mybatis MyBatis 免费的插件 mapper和xml 互相跳转
建议使用MybatisX吧 比上面这个好点,能自动生成xml和mapper层的方法(Alt+Enter 搞定一切)
14.Alibaba Java Coding Guidelines
阿里Java编程规约插件
15.CamelCase
简介:在几种字符串格式之间来回切换。有一下几种格式:
-
驼峰,第一个单词首字母小写,其他单词首字母大写
-
所有字母小写,单词间下划线分隔
-
所有字母小写,单词间空格分隔
-
所有字母小写,单词间短横线分隔
-
每个单词首字母全部大写
-
所有字母大写,单词间下划线分隔
使用:按住Shift + Alt再不停的按U,会把选中内容的单词的下划线转驼峰转大写等,不停的转换,直到你想要的。
16.Jclasslib Bytecode Viewer
17.Jrebel for Intellij
简介:JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。当然还是需要按一下快捷键才能生效的。
可以自己写代码,或者找一个在线网站生成一个guid。然后打开插件激活界面,输入Team URL https://jrebel.qekang.com/网上随便生成的一个guid(网上有一些说用http://127.0.0.1:8888,我试了一下发现不行),然后输入自己的邮箱。点击下方的Change license按钮,激活成功。
可参考:JRebel插件使用详解_哈-优快云博客_jrebel
18.String Manipulation
功能:变量名使用驼峰形式、常量需要全部大写等等,编码解码等等。总的来说就是对字符串的处理。
使用:选中需要处理的内容后,按快捷键Alt + M,即可弹出工具功能列表。后面的具体功能也可以使用相应的数字或字母,而不需要鼠标点击。
19.CodeGlance 代码迷你缩放图插件 个人感觉用处不是太大
20.Codota
代码提示工具,扫描你的代码后,根据你的敲击完美提示
Codota基于数百万个开源Java程序和您的上下文来完成代码行,从而帮助您以更少的错误更快地进行编码。
安装:
21.Material Theme UI
那就顺便推荐一下这个吧,超多的主题插件,各种颜色,各种模式,感兴趣的可以试一下,图我就不截了
22.Alibaba Cloud Toolkit 快速部署到服务器,超级牛逼 超级推荐
23. idea zookeezper
管理zookeeper的idea插件本代码是根据https://github.com/linux-china/zookeeper-intellij修改过来的,解决了一些npe异常
可以图形化的查看zk 节点信息了,非常简单
24. JUnitGenerator 自动生成测试代码。
25. MyBatis Log Plugin 神级
根据执行sql 替换掉 ?显示完整 sql, 直接复制粘贴到数据库 就可以执行
26.MyBatisCodeHelperPro 超级牛逼神级
支持mapper互跳,方法自动生成,代码自动生成
只输入了一个fin 的各种提示就处理了,当你选择一个回车的时候 mapper.xml 也就给你生成了。
还可以根据数据库表自动生成xml、mapper service 和个增删改查代码,可一键生成所有表
27.Chinese(Simplified) Language Pack EAP
简介:2020.1版本开始支持的官方汉化插件。2020-04-10的使用情况来看,插件还存在缺陷,有些地方显示的不是汉化而是一段代码。可以等这个插件再完善一些再使用。
DeBUG调试:
一、条件断点
循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置
二、回到"上一步"
该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值,如果不知道该技巧,只能再跑一遍。
参考上图,method1方法调用method2,当前断点的位置j=100,点击上图红色箭头位置的Drop Frame图标后,时间穿越了回到了method1刚开始调用的时候,变量i变成了99,没毛病吧,老铁们,是不是很6 :)注:好奇心是人类进步的阶梯,如果想知道为啥这个功能叫Drop Frame,而不是类似Back To Previous 之类的,可以去翻翻JVM的书,JVM内部以栈帧为单位保存线程的运行状态,drop frame即扔掉当前运行的栈帧,这样当前“指针”的位置,就自然到了上一帧的位置。
三、多线程调试
多线程同时运行时,谁先执行,谁后执行,完全是看CPU心情的,无法控制先后,运行时可能没什么问题,但是调试时就比较麻烦了,最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,比如下图:
如果想希望下一个断点位置是第2句诗句,可能要失望了:
如果想让线程在调试时,想按自己的愿意来,让它停在哪个线程就停在哪个线程,可以在图中3个断点的小红点上右击,
即:Suspend挂起的条件是按每个线程来,而非All。把这3个断点都这么设置后,再来一发试试
注意上图中的红框位置,断点停下来时,这个下拉框可以看到各个线程(注:给线程起个容易识别的名字是个好习惯!),我们
可以选择线程“天空中的飞鸟”
断点如愿停在了第2句诗。
四、远程调试
这也是一个装B的利器,本机不用启动项目,只要有源代码,可以在本机直接远程调试服务器上的代码,打开姿势如下:1、项目启动时,先允许远程调试
java -server -Xms512m -Xmx512m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081 -Djava.ext.dirs=. ${main_class}
起作用的就是
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081
注意:远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口不要冲突,而且本机要允许访问远程端口,另外这一段参数,放要在-jar 或 ${main_class}的前面2、idea中设置远程调试
然后就可以调试了前提是本机有项目的源代码 ,在需要的地方打个断点,然后访问一个远程的url试试,断点就会停下来。
五、临时执行表达式/修改变量的运行值
调试时,可以临时执行一些表达式,参考下图:点击这二个图标中的任何1个都可以
点击+号后,就可以在新出现的输入框里输入表达式,比如i+5然后回车,马上就能看到结果
当然,如果调试时,想动态修改变量的值,也很容易,在变量上右击,然后选择Set Value,剩下的事,地球人都知道。
还有一些缩写,方便使用
1:psvm public static void main(String[] args){}
2:sout System.out.println();
3:souf System.out.printf();
4:serr System.err.println();
5:psf public static final
6:psfi public static final int
7:psfs public static final String
抽取一段代码重构: alt + shift + m
for循环语法:
itar: 生成array for代码块
for (int i = 0; i < array.length; i++) {
= array[i];
}
itco 生成Collection迭代
for (Iterator<String> iterator = locationUrl.iterator(); iterator.hasNext(); ) {
String next = iterator.next();
}
iten 生成enumeration遍历
while (enumeration.hasMoreElements()) {
Object nextElement = enumeration.nextElement();
}
iter 生成增强forxun
for (String s : locationUrl) {
}
itit 生成iterator 迭代
while (iterator.hasNext()) {
Object next = iterator.next();
}
itli 生成List的遍历
for (int i = 0; i < locationUrl.size(); i++) {
String s = locationUrl.get(i);
}
5.Debug模式
F8 单步调试 不进入函数内部
F7 单步调试 进入函数内部
F9 继续执行,进入
shift+F7 选择要进入函数
shift+F8 跳出函数
Ait+F9 运行到断点
官方帮助
You will be redirected shortly
自己配置idea的一些心得体会,与大家共勉 所有设置都基于File-->settings
必备的Intellij插件 Java程序员必备的Intellij插件_Java团长-优快云博客
快捷键 今日头条