IDEA 28 个天花板技巧 + 12 款神级插件,生产力起飞...

news2025/1/10 21:46:27

图片

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

  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同个项目不同端口多开

注意:不同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

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

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙原生应用开发-DevEco Studio远程模拟器的使用

使用单设备模拟器运行应用/服务 Remote Emulator支持Phone、Wearable、Tablet、TV等设备类型,但不同区域(开发者帐号注册地)支持的设备类型可能不同,请以实际可申请的设备类型为准。 Remote Emulator中的单设备模拟器&#xff08…

FL Studio21.2宿主软件中文免费版下载

纵观当下宿主软件市场,正值百家争鸣、百花齐放之际像Mac系统的Logic Pro X、传统宿主软件代表Cubase、录音师必备Pro Tools、后起之秀Studio One等,都在各自的领域具有极高的好评度。而在众多宿主软件中,有这么一款历久弥新且长盛不衰的独特宿…

Java类和对象(2)

🐵本文继续讲解类和对象相关知识 一、封装 封装就是将对象的属性和实现方法隐藏起来,外部无法获得具体的实现细节,只对外公开接口和对象进行交互,将对象的属性隐藏起来的办法就是用关键字private,被private修饰的成员…

安科瑞电力监控系统在浙中总部经济中心的设计与应用

安科瑞 崔丽洁 摘要:电力供应是整个社会生产、人民生活的基本保证之一,也是全世界普遍的能源形式,而且多数资源都被人类运用各种方式转换为电能而加以利用,经济的高速运行也使各领域的用电负荷急速上升,各种疏漏和故障…

刷题学习记录BUUCTF

[极客大挑战 2019]RCE ME1 进入环境直接就有代码 <?php error_reporting(0); if(isset($_GET[code])){$code$_GET[code];if(strlen($code)>40){die("This is too Long.");}if(preg_match("/[A-Za-z0-9]/",$code)){die("NO.");}eval($co…

社区街道治安智慧监管方案,AI算法赋能城市基层精细化治理

一、背景需求分析 随着城市建设进程的加快&#xff0c;城市的管理也面临越来越多的挑战。例如&#xff0c;在城市街道的管理场景中&#xff0c;机动车与非机动车违停现象频发、摊贩占道经营影响交通、街道垃圾堆积影响市容市貌等等&#xff0c;都成为社区和街道的管理难点。这…

中波发射机概述

一、简介 1.1 中波发射机简介 中波发射机是一种用于广播电台传输中波频率信号的设备。它们是广播电台系统的重要组成部分&#xff0c;用于发送声音、音乐和其他信息到广泛的地理区域。中波频率范围一般介于530kHz至1700kHz之间&#xff0c;具有较好的传播性能&#xff0c;可以…

Sentinel网关限流

背景 在微服务架构下&#xff0c;每个服务的性能都不同&#xff0c;为避免出现流量洪峰将服务冲垮&#xff0c;需要依赖限流工具来保护服务的稳定性。sentinel是阿里提供的限流工具&#xff0c;社区活跃&#xff0c;功能也很全面&#xff0c;包含实时监控、流控、熔断等功能。…

数据结构-链表的简单操作代码实现【Java版】

目录 0.链表前序工作 1.构建出一个链表 2.展示链表中的所有存储数据 3.查找关键字key是否在链表中 4.求链表的长度 5.头插法 6.尾插法 7.插入任意位置&#xff08;规定第一个元素位置为0下标&#xff09; 8.删除第一次出现的值为key的关键字 9.删除所有值为key的关键字…

阿里巴巴将开源720亿参数大模型;开源语言大模型演进史

&#x1f989; AI新闻 &#x1f680; 阿里巴巴将开源720亿参数大模型 摘要&#xff1a;在2023世界互联网大会乌镇峰会上&#xff0c;阿里巴巴集团CEO吴泳铭透露&#xff0c;阿里巴巴即将开源720亿参数大模型&#xff0c;这将是国内参数规模最大的开源大模型。目前&#xff0c…

【启扬方案】启扬安卓屏一体机在医疗自助服务终端上的应用解决方案

为了解决传统医疗模式下的“看病难、看病慢”等问题&#xff0c;提高医疗品质、效率与效益&#xff0c;自助服务业务的推广成为智慧医疗领域实现信息化建设、高效运作的重要环节。 医疗自助服务终端是智慧医疗应用场景中最常见的智能设备之一&#xff0c;它通过与医院信息化系统…

计算机网络篇 | 走进计算机网络

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 计算机网络 ✨特色专栏&#xff1a; M…

TensorFlow2.0教程3-CNN

` 文章目录 基础CNN网络读取数据卷积层池化层全连接层模型配置模型训练CNN变体网络简单的深度网络添加了其它功能层的深度卷积NIN网络文本卷积基础CNN网络 读取数据 import numpy as np import tensorflow as tf import tensorflow.keras as keras import tensorflow.keras.la…

11月7日 mybatis缓存

mybatis的缓存 缓存的条件&#xff1a;必须要有存在的数据 一级缓存: SqlSession级别缓存.存储的数据.只能在同一个SalSession有效.默认开启 二级缓存: SqlSessionFactory级别的缓存. SqlSessionFactory只有一个的,单例,全局共享的,不同的 SqlSession共享&#xff0c;默认没有…

宏集案例 | eX707G人机界面在石油钻井工程中的应用

来源&#xff1a;宏集科技 宏集案例 | eX707G人机界面在石油钻井工程中的应用 01 应用背景 石油钻井工程是石油开采过程中最为关键的一个环节&#xff0c;直接决定着石油开采的质量和经济效益&#xff0c;而钻井工程参数的实时监测、分析处理和存储是保证安全、可靠、高效钻…

利用百度地图api获取经纬度和uniapp定位计算距离

获取百度地图api&#xff0c;成为开发者&#xff0c;去控制台创建应用得到一个ak就可以了 百度地图开放平台网址&#xff1a;百度地图开放平台 | 百度地图API SDK | 地图开发 后端是node // 根据百度api地址获取经纬度 https://lbsyun.baidu.com/async getLocation(val) {try …

基于SSM的博客系统

基于SSM的博客系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringMyBatisSpringMVC工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 热点 博客详情 登录界面 管理员界面 博主界面 摘要 博客系统作为信息传播和分享的重…

Linux系统编程——文件的光标移动

光标移动(lseek) 主要用于不断对文件写入数据或读取数据的的用法&#xff0c;每次写入数据后光标在数据尾&#xff0c;若要进行读取则只会没法读取到光标前的数据&#xff0c;这个时候就不需要重启文件&#xff0c;只需对光标位置做出调整就可以读取数据 使用lseek函数需要包…

抢抓泛娱乐社交出海新风口!Flat Ads深圳沙龙活动引爆海外市场

随着全球化进程的加速&#xff0c;中国的应用类APP不断走向国际市场。作为产品和服务的提供者&#xff0c;中国开发者围绕社交泛娱乐创新&#xff0c;开启直播出海、短视频出海、游戏社交出海、1V1 视频出海、音频社交出海等出海热潮。“社交、泛娱乐”融合成为行业主流发展趋势…

Three.js 实现简单的PCD加载器(可从本地读取pcd文件)【附完整代码】

1 功能实现 初始会显示我们之前 SfM 做出的点云&#xff0c;包括相机位置可以点击右上角加载你本地的PCD文件可以通过选择多个文件加载多个点云并显示在同一场景中可以通过左上角的控制界面查看/调整点云的属性&#xff0c;如点大小、颜色等可以通过右上角的控制界面选择旋转 …