草庐IT

30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...

Java技术栈 2023-04-19 原文

IDEA 作为Java开发工具的后起之秀,几乎以碾压之势把其他对手甩在了身后,主要原因还是归功于:好用;虽然有点重,但依旧瑕不掩瑜,内置了非常多的功能,大大提高了日常的开发效率,下面汇总了常用的30个使用小技巧,学会之后,让你的撸码效率直接起飞...

  1. 查看代码历史版本
  2. 调整idea的虚拟内存:
  3. idea设置成eclipse的快捷键
  4. 设置提示词忽略大小写
  5. 关闭代码检查
  6. 设置文档注释模板
  7. 显示方法分隔符
  8. 设置多行tab
  9. 快速匹配方法的大括号位置
  10. 代码结尾补全
  11. 模糊搜索方法
  12. 预览某个类的代码
  13. 查看方法在哪里被调用
  14. 代码模板(代码快捷键)
  15. 自动导包、自动移除没用的包
  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. 单词翻译插件

注意:不同idea版本菜单、目录可能有细微差别,自己稍加分析都能找到

1.查看代码历史版本

鼠标在需要查看的java类 右键 找到Local History >> Show History 点开即可看到历史版本,常用于自己忘记代码改了哪些内容 或需要恢复至某个版本 (注意 只能看近期修改 太久了也是看不到的)

2.调整idea的虚拟内存

尽管本质都是去改变 .vmoptions配置文件,但推荐使用Change Memory Settings去调整,选择Edit Custom VM Options 或者在本地磁盘目录更改,通过某些方法破解的idea 很可能造成idea打不开的情况

3.idea设置成eclipse的快捷键

这对eclipse转idea的开发人员来说 非常友好,这样不需要记两套快捷键

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

把这个勾去掉,(有的idea版本是选择选项 选择none即可),例如String 输入string 、String 都可以提示

5.关闭代码检查

与eclipse类似,idea也可以自己关闭代码检查 减少资源使用,但不推荐全部关闭,(是大佬当我没说),把我们项目中不会使用到的关闭就好了

6.设置文档注释模板

文档注释快捷键及模板

https://blog.csdn.net/qq_36268103/article/details/108027486

7.显示方法分隔符

方便查看方法与方法之间的间隔,在代码不规范的项目中 很好用!

8.设置多行tab

idea默认是选择显示单行的,我们把这个去掉,就可以显示多行tab了,在打开tab过多时的场景非常方便!

8.1 tab过多会自动关闭

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

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

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

10.代码结尾补全

例如一行代码补全分号,或者是if(xxx) 补全大括号,按ctrl+shift+enter 无需切换鼠标光标,大幅度提升了编码效率

11.模糊搜索方法

例如People类里面的test方法,按ctrl+shift+alt+n 输入Peo.te 就可以查到该方法了,如果觉得这个快捷键难记 也可以按ctrl+shift+r (查找某个文件名的快捷键 下图中的Files),再手动选择Symbols

12.预览某个类的代码

例如People类里面的test方法,按ctrl+shift+a

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

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

ctrl+alt+h 可以清楚看到方法在哪些地方被调用;在知道这个快捷键之前,都是ctrl+h(idea默认 ctrl+shift+f)搜索,肉眼找的…

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

例如 : eclipse 中的syso是打印控制台输出 ,但是idea默认是sout , 如果非要改成syso 可以在Postfix Completion里面设置,类似的 fori等都是在里面设置

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

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

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

这个根据个人是否要使用 有的时候工具只能作参考,自己记忆才能保证准确

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

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

18.括号颜色区分

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

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

步骤:View ——>Tool Windows ——> services ——>add services

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

例如我们打开新窗口时,maven配置会恢复 这时就需要对打开新窗口的设置进行修改 达到一个全局的目的。

在低版本idea中 也是在File下 例如idea2018是叫other settings

IDEA 正版激活教程,作者已顺利激活:https://www.javastack.cn/intellij-idea-reactivation-succeed/

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

Free MyBatis plugin 插件

点击绿色箭头可以直接跳转 非常方便

22.设置idea背景图片

BackgroundImage插件

设置喜欢的图片作为背景图

23.maven tree(查看maven jar包依赖关系)

如果是使用 mvn dependency:tree 命令 , 结果是下图这样 很不方便查看

我们可以在idea右上角点击这个ShowDependencies按钮 以图片形式展示出来 图片按住ctrl和鼠标滑轮 可以放大,这个在排除依赖冲突 查看jar包来源时 非常好用

有的时候 可能莫名其妙看不到这个图标 ,我们可以点一下设置

把这个勾上,它就能显示了,等显示后,再把这个勾去掉

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

当我们打开了多个tab的时候 , 想要快速回到上一个点击的tab中 有的时候肉眼很难找

我们可以用快捷键 alt + ← 键 (eclipse版快捷键 idea默认快捷键需要自测) ,有的时候我们在后面tab编辑了内容 按一次可能不够 需要再多按几次 ,相应的 alt + → 切换到下一个点击的tab

常见应用场景:debug发生类跳转时 、利用快捷键在其它类中创建方法时

即使两个tab不相邻 也可以切换回去

25.idea自带的ssh连接工具

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

  • 第一步:配置账号密码

  • 第二步:开启ssh会话

26.代码调用链路图插件

SequenceDiagram 插件

这其实是本文第13点的上位替代方案,idea自带的快捷键查看代码调用,只是以菜单形式展示,不太直观,如果是自己写的代码或比较规范的代码,那用自带的也就无所谓,如果是比较复杂的源码或不规范的代码,那使用 SequenceDiagram 会直观特别多。

在要查看的java文件鼠标右键,点击 Sequence Diagram

效果示例:

27.获取当前线程dump

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

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

比如下图1, run()方法是通过main主线程执行的,只是方法调用,并没有启动多线程(这是我们熟知结论的实践证明)

当我们把run方法改成start()方法时,可以看到是线程thread0执行的。

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

这是个非常实用的功能,可以模拟集群 测试负载均衡。

此外 在开发阶段也是非常好用,开发过程中,让别人直接连自己本地测试 是不是非常方便?

那自己又想打断点调试 会影响别人 怎么办呢 ?这个时候多开的作用就体现出来了!

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

VM options 加上

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

29. 给代码添加书签

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

我们可以在左下角的 favorites 中 ,找到bookmarks 我们还可以将添加的书签右键重命名

重命名之后:

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

30. 单词翻译插件

在插件marketplace中 搜索 translation 并下载安装

目前默认的是谷歌引擎(不知道后续作者会不会改) ,但是谷歌翻译已经在大陆停用了 所以我们要手动设置一下, 设置路径为Tools - Translation - 翻译引擎

使用方法: 选中我们需要翻译的单词,鼠标右键 选中Translate

效果如图:

待续。。

版权声明:本文为CSDN博主「孟秋与你」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_36268103/article/details/109216520

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

有关30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  3. 牛客网专项练习30天Pytnon篇第02天 - 2

    1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析:    在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1:    print(k)k=k/2A.1000 B.10C.11D.9解析:    按照题意每次循环K/2,直到K值小于等

  4. ruby-on-rails - Ruby .each 效率 - 2

    我这样做(在我看来):#myUserisaUserinActiveRecordwith:has_many:postsmyUser.posts.eachdo|post|end如果用户有10个帖子,这会调用10次数据库吗?这些循环应该像(不那么漂亮)吗?:myPosts=myUser.postsmyPosts.eachdo|post|endHere是我测试的ruby​​文件的粘贴箱。编辑修改了粘贴箱。这让我想起了Java中的代码for(inti=0;i应该是(除非数组被修改)for(inti=0,len=someExpensiveFunction();i我错过了什么吗?我看到一堆Rails

  5. ruby catch 和效率 - 2

    catch在Ruby中是为了跳出深度嵌套的代码。在Java中,例如Java用于处理异常的try-catch可以实现同样的效果,但它被认为是糟糕的解决方案,而且效率也很低。在用于处理异常的Ruby中,我们有begin-raise-rescue,我认为将它用于其他任务也很昂贵。Ruby的catch-throw真的是比begin-raise-rescue更有效的解决方案吗?或者还有其他原因可以使用它来打破嵌套block而不是begin-raise-rescue? 最佳答案 除了是摆脱控制结构的“正确”方式之外,catch-throw也明显

  6. 电脑怎么截图?进来看(8种常用截图方法) - 2

    电脑上可以截取图片吗?如果可以,该如何操作呢?相信很多小伙伴都只知道一两种截图的方式,知道的并不全面。其实,电脑上有多种方式截图的,而且非常方便。电脑怎么截图?今天我们就来教大家如何使用电脑截取图片的8种常用方式!操作环境:演示机型:Delloptiplex7050系统版本:Windows10方法一:系统自带截图具体操作:同时按下电脑的自带截图键【Windows+shift+S】,可以选择其中一种方式来截取图片:截屏有矩形截屏、任意形状截屏、窗口截屏和全屏截图。 方法二:QQ截图具体操作:在电脑登录QQ,然后同时按下【Ctrl+Alt+A】,可以任意截图你需要的界面,可以把截图的页面直接下载,

  7. Unity Shader 学习笔记(5)Shader变体、Shader属性定义技巧、自定义材质面板 - 2

    写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c

  8. IDEA使用LeetCode插件 - 2

    前言我们习惯用idea编写、调试代码,在LeetCode上刷题时,如果能够在IDEA编写代码,并且做好代码管理,是一件事半功倍的事情。对于后续复习题目,做笔记也会非常便利。本文目的在于介绍LeetCodeEditor的使用,以及配置工具类,最终目录结构如下:note:放置笔记src:放置代码leetcode.editor.cn:插件LeetCodeEditor自动生成utils:自定义的工具包,可用于自动化输入测试用例,定义题目需要的类(结构体)out:运行测试时自动生成LeetCodeEditorGitHub:https://github.com/shuzijun/leetcode-edit

  9. IDEA 2023.1 正式发布,新特性简介 - 2

     昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA

  10. Unity常用文件夹 - 2

    1.Scenes游戏场景文件夹用于放置unity的场景文件 2.Plugins插件文件夹用于放置unity的依赖文件,例如dll 3.Scripts脚本文件夹用于放置unity的c#脚本文件 4.Resources游戏资源文件夹用于放置unity的各种游戏资源,比如images,prefabs,同时只有放到Resources文件夹的游戏资源才能使用Resource.load(资源路径不加后缀)加载到游戏内存中进行使用 5.EditorUnity编辑器扩展脚本文件夹usingUnityEditor;这个名称空间就是Unity编辑器的名称空间这个名称空间提供了扩展Unity编辑器的各种类 【你所有

随机推荐