mainidea和theme区别_idea的使用总结

(15) 2024-06-05 23:01:01

文章目录

    • 0. 博主原创插件
    • 1.查看代码历史版本
    • 2. 调整idea的虚拟内存:
    • 3. idea设置成eclipse的快捷键
    • 4. 设置提示词忽略大小写
    • 5. 关闭代码检查
    • 6. 设置文档注释模板
    • 7.显示方法分隔符
    • 8.设置多行tab
      • 8.1 tab过多会自动关闭
    • 9. 快速匹配方法的大括号位置
    • 10.代码结尾补全
    • 11.模糊搜索方法
    • 12.预览某个类的代码
    • 13.查看方法在哪里被调用
    • 14.代码模板(代码快捷键)
    • 15.自动导包、自动移除没用的包
      • 15.1 手动导包 :alt+enter 手动移除未使用包: crtl+alt+o
    • 16. codota插件:可以优先显示使用频率较高的类、方法
    • 17. 快速查看类、字段的注释
    • 18. 括号颜色区分
    • 19. 微服务项目中 将不同项目添加到同一个启动窗口
    • 20. idea全局设置 (打开新窗口的设置)
    • 21. java mapper层代码文件和mapper.xml文件相互跳转
    • 22. 设置idea背景图片
    • 23. maven tree (查看maven jar包依赖关系、解决依赖冲突)
    • 24. 快捷键切换回上一个点击开的tab
    • 25. idea自带的ssh连接工具
    • 26. 代码调用链路图插件
    • 27. 获取当前线程dump
    • 28. idea同个项目不同端口多开
    • 29. 给代码添加书签
    • 30. 单词翻译插件
    • 31. 查看字节码
    • 32. maven helper插件 解决依赖冲突
    • 33. maven打包跳过测试
    • 34. CodeGeeX插件
    • 35.大小写转换
    • 36. 按层级查看类之间的继承关系
    • 待续。。。

注意: 不同idea版本 菜单、目录可能有细微差别,自己稍加分析都能找到;文章会持续动态更新,建议收藏后每过几个月时间再次查看

原文地址:https://blog.csdn.net/qq_36268103/article/details/109216520 ,文章会持续更新,如果您在其它地方看到本文,那可能是被爬虫/复制搬运,强烈建议您前往csdn阅读原文

0. 博主原创插件

用于校验 Objects.equals方法,两个参数类型是否一致,
欢迎前往idea的插件marketplace搜索: Equals Inspection下载
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第1张

如果您想知道插件作用、原理,或者如何编写插件
请移步博主(csdn: 孟秋与你) 主页搜索: idea插件,里面详细介绍了插件的用途 ,不占用本文篇幅
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第2张

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第3张

1.查看代码历史版本

鼠标在需要查看的java类 右键 找到Local History >> Show History 点开即可看到历史版本,常用于自己忘记代码改了哪些内容 或需要恢复至某个版本 (注意 只能看近期修改 太久了也是看不到的)
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第4张

2. 调整idea的虚拟内存:

尽管本质都是去改变 .vmoptions配置文件,但推荐使用Change Memory Settings去调整,选择Edit Custom VM Options 或者在本地磁盘目录更改,通过某些方法激活成功教程的idea 很可能造成idea打不开的情况
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第5张

3. idea设置成eclipse的快捷键

这对eclipse转idea的开发人员来说 非常友好,这样不需要记两套快捷键
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第6张

4. 设置提示词忽略大小写

把这个勾去掉,(有的idea版本是选择选项 选择none即可),例如String 输入string 、String 都可以提示
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第7张

5. 关闭代码检查

与eclipse类似,idea也可以自己关闭代码检查 减少资源使用,但不推荐全部关闭,(是大佬当我没说),把我们项目中不会使用到的关闭就好了mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第8张

6. 设置文档注释模板

文档注释快捷键及模板

7.显示方法分隔符

方便查看方法与方法之间的间隔,在代码不规范的项目中 很好用!
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第9张

8.设置多行tab

idea默认是选择显示单行的,我们把这个去掉,就可以显示多行tab了,在打开tab过多时的场景非常方便!
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第10张
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第11张

8.1 tab过多会自动关闭

settings - editor - General - Editor tabs - tab limit 数值设大就好了

9. 快速匹配方法的大括号位置

ctrl+[ ctrl+] 可以快速跳转到方法大括号的起止位置,配合方法分隔符使用,不怕找不到方法在哪儿分割了

10.代码结尾补全

例如一行代码补全分号,或者是if(xxx) 补全大括号,按ctrl+shift+enter 无需切换鼠标光标,大幅度提升了编码效率
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第12张

11.模糊搜索方法

例如People类里面的test方法,按ctrl+shift+alt+n 输入Peo.te 就可以查到该方法了,如果觉得这个快捷键难记 也可以按ctrl+shift+r (查找某个文件名的快捷键 下图中的Files),再手动选择Symbolsmainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第13张

12.预览某个类的代码

例如我们在test类中,有句代码:People p = new People(); 我们想稍微查看一下People这个类,但是tab已经够多了,ctrl+alt+b会打开新的标签,标签多了就混乱了,尤其一堆命名类似的tab,这时候我们可以按ctrl+shift+i 实现预览功能,不占tab
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第14张

13.查看方法在哪里被调用

ctrl+alt+h 可以清楚看到方法在哪些地方被调用;在知道这个快捷键之前,都是ctrl+h(idea默认 ctrl+shift+f)搜索,肉眼找的…
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第15张

14.代码模板(代码快捷键)

例如 : eclipse 中的syso是打印控制台输出 ,但是idea默认是sout , 如果非要改成syso 可以在Postfix Completion里面设置,类似的 fori等都是在里面设置
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第16张

15.自动导包、自动移除没用的包

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第17张

15.1 手动导包 :alt+enter 手动移除未使用包: crtl+alt+o

16. codota插件:可以优先显示使用频率较高的类、方法

这个根据个人是否要使用 有的时候工具只能作参考,自己记忆才能保证准确
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第18张

17. 快速查看类、字段的注释

这是一个很有用的小技巧 按F2可以快速查看某个类或某个字段的文档注释 ;基于这点 其它IDE应该也是可以快速查看文档注释内容 不仅仅是idea特性,这也是为什么阿里编码规范里面会明确声明实体类字段需要用文档注释 而不能使用双斜杠// 注释 ,还记得刚看到这个规范的时候 很不理解 特地去百度 看到有人说就是个习惯问题 很显然不能说服人,直到发现F2可以快速查看之后 恍然大悟!
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第19张
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第20张

18. 括号颜色区分

Rainbow Brackets 插件 成对的括号用相同的颜色表示出来了

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第21张

19. 微服务项目中 将不同项目添加到同一个启动窗口

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第22张
步骤:
View ——》Tool Windows ——》 services ——》add services

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第23张

20. idea全局设置 (打开新窗口的设置)

例如我们打开新窗口时,maven配置会恢复 这时就需要对打开新窗口的设置进行修改 达到一个全局的目的
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第24张
在低版本idea中 也是在File下 例如idea2018是叫other settings

21. java mapper层代码文件和mapper.xml文件相互跳转

Free MyBatis plugin 插件
点击绿色箭头可以直接跳转 非常方便
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第25张

22. 设置idea背景图片

BackgroundImage插件
设置喜欢的图片作为背景图

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第26张

23. maven tree (查看maven jar包依赖关系、解决依赖冲突)

如果是使用 mvn dependency:tree 命令 , 结果是下图这样 很不方便查看。 当我们知道某个具体的依赖包冲突时,我们可以将输出结果复制到文本编辑器 手动搜索依赖链路。

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第27张

我们也可以在idea右上角点击这个ShowDependencies按钮 以图片形式展示出来 图片按住ctrl和鼠标滑轮 可以放大,这个在排除依赖冲突(有冲突时会标红) 查看jar包来源时 非常好用
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第28张

有的时候 可能莫名其妙看不到这个图标 ,我们可以点一下设置
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第29张

把这个勾上,它就能显示了,等显示后,再把这个勾去掉
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第30张

24. 快捷键切换回上一个点击开的tab

当我们打开了多个tab的时候 , 想要快速回到上一个点击的tab中 有的时候肉眼很难找
我们可以用快捷键 alt + ← 键 (eclipse版快捷键 idea默认快捷键需要自测) ,有的时候我们在后面tab编辑了内容 按一次可能不够 需要在多按几次 ,相应的 alt + → 切换到下一个点击的tab
常见应用场景: debug发生类跳转时 、利用快捷键在其它类中创建方法时

即使两个tab不相邻 也可以切换回去
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第31张

25. idea自带的ssh连接工具

(类似的idea还有自带的数据库连接工具 但是视图界面并不如Navicat 所以很多人都不选择用)

第一步:配置账号密码
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第32张
第二步:开启ssh会话
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第33张

26. 代码调用链路图插件

SequenceDiagram 插件

这其实是本文第13点的上位替代方案,idea自带的快捷键查看代码调用,只是已菜单形式展示,不太直观,
如果是自己写的代码或比较规范的代码,那用自带的也就无所谓,如果是比较复杂的源码或不规范的代码,
那使用 SequenceDiagram 会直观特别多。
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第34张

在要查看的java文件鼠标右键,点击 Sequence Diagram
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第35张

效果示例:
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第36张

27. 获取当前线程dump

在断点调试的时候,我们可以通过点击下图红色箭头指向的相机图标,获取当前线程的dump信息。

这个功能有什么用呢?我们可以通过线程名,分析当前是哪个线程执行的,在多线程环境下对代码运行分析起到辅助作用。

比如下图1, run()方法是通过main主线程执行的,只是方法调用,并没有启动多线程(这是我们熟知结论的实践证明)
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第37张
当我们把run方法改成start()方法时,可以看到是线程thread0执行的。
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第38张

28. idea同个项目不同端口多开

这是个非常实用的功能,可以模拟集群 测试负载均衡。
此外 在开发阶段也是非常好用,开发过程中,让别人直接连自己本地测试 是不是非常方便?
那自己又想打断点调试 会影响别人 怎么办呢 ?这个时候多开的作用就体现出来了!

网上很多方法提到勾选 Allow parallel run (不同版本idea 名称不一样) ,我也亲眼见过有老师是可以多开启动的,
但我本地启动发现每次都会同时同端口启动多个,不知道是版本问题还是操作问题,这里我用的是另一种有效的方法:
在 VM options 加上

# 8993是区别于 application.yml 配置中 port 的另一个端口  , 达到不同端口多开的效果
-Dserver.port=8993

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第39张

29. 给代码添加书签

鼠标右键红框处 选择 add bookmark 完成书签添加

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第40张
我们可以在左下角的 favorites 中 ,找到bookmarks 我们还可以将添加的书签右键重命名
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第41张
重命名之后:
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第42张

看到这 大家应该明白书签的使用场景之一: 源码阅读

30. 单词翻译插件

在插件marketplace中 搜索 translation 并下载安装
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第43张
目前默认的是谷歌引擎(不知道后续作者会不会改) ,但是谷歌翻译已经在大陆停用了 所以我们要手动设置一下, 设置路径为Tools - Translation - 翻译引擎

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第44张

使用方法: 选中我们需要翻译的单词,鼠标右键 选中Translate
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第45张
效果如图:
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第46张

31. 查看字节码

需要到字节码层面分析的问题 就是java中的疑难重症了,例如博主之前提到过的function 双冒号 :: 转String格式的博客中,就是字节码层面才能看出原理,源代码是看不出来的。

我们选中一个java类,view --> show bytecode 就能查看字节码了 (idea 2021.1 +), 旧版本不确定有没有 用旧版本idea时 博主尚且年轻 没注意到。
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第47张

32. maven helper插件 解决依赖冲突

第23点中,博主提到过 mvn dependency:tree 可以分析maven冲突; 后来发现这个maven helper插件 也是可以的,它似乎还更好用些。(博主先入为主 一般用的是mvn dependency:tree)

首先我们安装好maven helper插件;
点开pom.xml文件,发现底部多了一个Dependency Analyzer 点击它
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第48张

点击后,发现列出了有冲突的依赖包
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第49张

我们以commons-logging依赖为例分析,点击commons-logging ,
右侧会列出这些依赖都有引入commons-logging
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第50张
我们在右侧依赖位置 鼠标右键一下 如图
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第51张
即可看到冲突版本
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第52张

33. maven打包跳过测试

命令mvn install -Dmaven.test.skip=true , 在idea中 也可以直接点击 ,如下图:
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第53张
或者在maven opts里面配置
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第54张

34. CodeGeeX插件

非常强大的插件,根据代码写注释 根据注释写代码

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第55张
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第56张

35.大小写转换

我们可以选中单词使用 ctrl +shift+U ,得到大写单词
注意:如果是驼峰会先转成小写(只要单词包含大写就会转成小写,再次按下ctrl+shift+U快捷键 就能转成大写)
且大小写不能转成驼峰
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第57张

36. 按层级查看类之间的继承关系

当我们想查看某个接口 有哪些子类时 我们通常会点击图标 或者ctrl + alt + b , 但是会有一个问题 这么操作不仅仅是子类 ,连同子类的子类都会一起列出,我们很难看出继承关系。
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第58张
更好的方式:可以在接口按快捷键F4 (或手动点击Navigate -> type Hierarchy )
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第59张

可以看到 继承关系 以树形的方式展示出来了
mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第60张

待续。。。

博主自用插件名列表

mainidea和theme区别_idea的使用总结 (https://mushiming.com/)  第61张

原文地址:https://blog.csdn.net/qq_36268103/article/details/109216520 转载请申明

THE END

发表回复