IDEA 28 个天花板技巧,YYDS!

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享

点击关注#互联网架构师公众号,领取架构师全套资料 都在这里c0229e4714593712a437fb55a6c8812f.png

0、2T架构师学习资料干货分

上一篇:ChatGPT研究框架(80页PPT,附下载)

大家好,我是互联网架构师!

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

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

1.查看代码历史版本

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

0f0293662ec3fc85d1797effabd9a3b1.png

2.调整idea的虚拟内存

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

0dc64a811cf0f2ec05f242e23e05f67c.png

3.idea设置成eclipse的快捷键

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

bf7f04ef6c72de465f72c77749b90cb1.png

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

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

84275cf6cdd4d30cb24221715816a5cc.png

5.关闭代码检查

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

36dba6ae77b18b93ac68a2b0ed8cc494.png

6.设置文档注释模板

文档注释快捷键及模板

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

7.显示方法分隔符

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

ce84e909dbf2801ccfed9d03c37fe5b2.png

8.设置多行tab

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

0e5cb526cb1c65dfd261a25c9f9a535c.png a0239f6c5990d6d6929ebe5b486ef576.png

8.1 tab过多会自动关闭

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

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

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

10.代码结尾补全

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

1c57807f161adb8495a0f27e01d8217d.png

11.模糊搜索方法

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

6efe7d1b49a6c39fd11a8059595faefa.png

12.预览某个类的代码

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

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

ff8400d711597351c5956ffc256845a3.png

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

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

ee6ef8a9eb0eccb0ed2fd218b5274240.png

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

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

d4d0e5a16e604bb4e06e1ed283a55d38.png

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

9f436a917a1775f53658c0864ec608fc.png

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

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

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

989b5cc54cfb4d3f5d60b2c6639c6d5f.png

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

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

18.括号颜色区分

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

aff345909728e7561a7edb697a2dd854.png

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

342a827cab4524b37e1acf8e4aa256e2.png

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

c234518f119e89f43aea82cd95ad8c3e.png

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

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

404ccf97a8005f7b04e3dc421d95b5cd.png

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

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

Free MyBatis plugin 插件

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

d8effb7f4e95abbc4956e2ed74f3aba4.png

22.设置idea背景图片

BackgroundImage插件

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

f11f6ef8a6353e498111c610b51f9421.png

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

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

40221171affb7e6b1a834f985e5d586d.png

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

264c885ce4ced775b7d34afe50b914b6.png

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

04ba4374e84ae9e7c5c55065d20577c7.png

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

18770179b4eec0115b11d0bd1c157189.png

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

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

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

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

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

74df0fc7bb69a8c06aff5e8ace51abb7.png

25.idea自带的ssh连接工具

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

  • 第一步:配置账号密码

030b0fe2442097a580bcfacc8ea93300.png
  • 第二步:开启ssh会话

4a3b1a417e3811779a1d6e30e251cd6b.png

26.代码调用链路图插件

SequenceDiagram 插件

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

b9b8f4f7da36a16ccce5202627d5b44b.png

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

c57d899a567526067a864d6d108b20eb.png

效果示例:

a57f7e31ba36a380d71bd6dcff6bd8bc.png

27.获取当前线程dump

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

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

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

e205b3f714f5ced996ff8b719a230390.png

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

06832bd2972d9b3f3104bdc923dbfa27.png

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

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

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

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

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

在 VM options 加上

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

1、Alibaba开源内网高并发编程手册.pdf

2、2T架构师学习资料干货分享

3、10000+TB 资源,阿里云盘,牛逼!!

4、基本涵盖了Spring所有核心知识点总结

  · END ·

最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

8baf6482a4e7412fd9135c69737f1f35.png

如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描上方二维码关注一下,您的支持是我坚持写作最大的动力。

求一键三连:点赞、转发、在看。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSDN 去除图片水印

想要保存 CSDN 博客中的一张图片时,发现图片上有水印,想要删除,怎么办呢? 如下图 右击图片 --> [在新标签中打开图片] 把问号以及问号后面的内容全部删掉,再访问 呐,水印不见了。 PS:写博…

免费的图片去水印消除水印清除水印去水印方法去水印软件免费下载

是一款免费的图片去水印工具。适用于微博下载的(偷的)图,从别的地方下载的(偷的)图等。 ** 直接说下载链接:请点击链接里的普通下载,(其他是别的下载器) 当然&#xff…

批量图片去水印,操作简单,赶紧收藏!

图片怎么去水印?在平时的日常生活中,我们有时候需要用到一些图片或者视频,但是这些视频或者图片往往会有烦人的水印,我们需要去除水印后才能更好来使用~那么你都是怎么去除水印的呢?有什么比较简单轻松的批量图片去水印方法吗?小编这里有一…

2023新版 多功能去水印工具微信小程序源码_带流量主功能(已更新)

简介: 2023新版 多功能去水印工具微信小程序源码_带流量主功能 自带去水印接口的多功能小程序 支持各大平台短视频去水印 支持保存封面,图集,标题等等 支持本地图片去水印 支持图片拼接 支持九宫格切图 支持修改视频的MD5等等 另外当然也有流量主功能的 链…

去除CSDN博客图片水印

今天写论文时要用到之前写博客时的一张图片,但是直接复制过来有水印 ,例如(右下角): 后来找到了解决办法,故在这里分享一下: 1.右击博客中的图片,选择复制图片地址,如下&…

二十行代码去除图片水印(别再找工具修图啦)

别再找工具修图啦,用代码吧 图片上常常有多余信息,如水印等,常常困扰啦多少痴男怨女。 在简书上看到一段有意思的内容。于是将它搬啦过来。 原地址:https://www.meiwen.com.cn/subject/dofckqtx.html。 消除水印 原图和效果图…

怎么把照片里的水印去掉?这三个办法教给你

图片水印是指在图片上添加一些文字或图形,以标识该图片的来源或版权归属。它可以让人们更容易地辨认出图片的来源,从而增强品牌的辨识度。如果我们在网上看到很喜欢的照片,想要用来个人收藏或者当做背景图,而它的图片水印只是为了…

智能软件aaas系统的整体设计的内容构成和简单介绍---正文开篇 之 现实模型 -----计算机科学、认知科学及其他们的混血儿:计算机认知科学

在开始之前,首先需要说明一下:aaas的设计中大量借鉴了http://www.jfsowa.com/ 中的内容。只是为了软件智能的目的,整体结构、架构和工作机制不同。所借鉴的Jfsowa中的内容被拆散后分布于aaas系统的各个地方。这里一并说明,文档各处…

一、初识MVC的混血宠儿Struts2

Struts 2是一个MVC框架,吸收了Struts1和WebWork两者的精华,以WebWork设计思想为核心,吸收了Struts 1的部分优点,因此一举成为MVC框架领域的混血新宠儿。 一、这里提到了MVC,首先对MVC做一下介绍: 首先控制…

国内技术帝不输国外 CryEngine 3引擎下“混血编辑器”诠释究极画质

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 有一款游戏,它用真实且精美的画质征服了无数的玩家,在06年E3展上,它绽放了耀眼的光彩,…

混血手感的逆袭!B.FRIENDit GK6A类青轴机械式键盘!

这太像了啦......!看来类青轴的机械式键盘应该也有可能也要掀起大战了,之前手感较好的多数都是POM导套设计系列,敲击起来就像是红轴手感,不过触底依然有一分或至少都有一丝弹弹的感觉。而类青轴最知名的应该就是雨林狼蛛&#xff…

DeepMind为明年的AAAI,准备了一份各种DQN的混血

本文来自AI新媒体量子位(QbitAI) DeepMind公开了一篇最近投递到AAAI 2018的新论文,这篇论文的主角,依然是这家公司四年前就开始研究的DQN,配角,依然是雅达利(Atari)游戏。 DQN&#…

【剑指offer】高频ML/DL面试题

学习心得 (1)机器学习、深度学习、强化学习blabla很多内容都是面试的重点,本文结合菜鸡自身学习过程持续更新。 (2)如有不正确之处,恳请指正,共同学习,非常谢谢~ (3&…

国内技术帝不输国外 CryEngine 3引擎下 混血编辑器 诠释究极画质

有一款游戏,它用真实且精美的画质征服了无数的玩家,在06年E3展上,它绽放了耀眼的光彩,拿下了当年几乎所有画面上的奖项。大家应该已经猜到了,它就是《孤岛危机》。 在《孤岛危机》发售后几年里,制作商Cryte…

Java+PHP整合=混血新宠儿

在2009年互联网上大谈各种系统技术架构,我们看见了很多国内、国外大型网站采用了其他语言和Java(Jee)结合的方式进行工作,其中由我们熟悉的有 手机之家 和 Digg 都是采用PHP和Java混合的方式进行协同工作。 我见过最佳的实践方式也是很多人经常体验过的…

[漫画]120430 混血男孩

混血男孩 introduce:最近,有些事情一直困扰着我…… url:http://manhua.178.com/zajiaosn/ tag:伪娘,路西法,废萌,卖肉 preview: 转载于:https://www.cnblogs.com/jffifa/archive/2012/04/30/2476849.html

好家伙!上天入地混血儿料箱机器人

导语 大家好,我是智能仓储物流技术研习社的社长,老K。 知识星球-智能仓储物流技术研习社 下个物流技术大咖就是你|原创12万字书等你领 智能仓储物流技术研习社 围绕厂内物流Intralogisitics,分享仓储物流自动化技术、设备、系统等知识&#x…

chatgpt:栅格化原理和代码

栅格化原理 把某个点根据经纬度放在整数经纬度记录的格子里,并把格子编号与点对应起来。 第一步确定每个格子的长和宽,即经度变化量和纬度变换量: 假设测试点的经纬度是(114度, 22.5度) 划定栅格划分的经纬度范围(大范围&…

最强解释!Python 包的依赖管理,有解了!

来源丨网络 之前一直比较抵触用 Python ,很大一部分原因是觉得 Python 项目的环境管理比较混乱。Node.js 有 Npm 包管理工具,通过 package.json 配置项目依赖,最多再通过 nvm 来进行环境切换;Java 有 Maven Gradle 来进行包管理和…

Python小白如何利用GPT4快速开发一个网站!

这个是一个全栈的项目,麻雀虽小,五脏俱全!全程都是利用gpt4进行辅助编程搞定的。第一版其实非常快,大概30分钟就搞定了,后续就是不断的添砖加瓦,增加功能和优化UI。 其实很多小白都在说要学Python&#xff…