当前位置: 首页 > 科技观察

如何高效使用IntelliJIDEA

时间:2023-03-14 19:55:15 科技观察

转载本文请联系BAT的乌托邦公众号。如何高效使用IDEA?鉴于事实,我在文章开头介绍一下自己使用IDEA。但是前面说过,任何时候,人外有人,天外有天。我写的所有文章、教程、视频都仅限于我当时所处的认知范畴,绝不代表最好和最深的。由于我个人比较注重工具的使用,所以每次写代码的时候,对代码的排版、质量、效率都非常有信心。IDEA有助于提高效率。而且每次在公司share的时候,我经常会一个字一个字的实时演示livecoding,但是我一点都不怯场。这很大程度上得益于我对IDEA的熟练程度。可能我无意中指出了一个小现象:很多时候(尤其是小范围分享的时候),不是讲者不编码给你看,而是代码很容易泄露,我连自己都不熟悉“工作碗”。囧作者我是2015年8月从外包公司入行的(关于作者的外卖->程序员转行经历,感兴趣的可以点这里)。后来有一家公司开始使用STS(SpringToolsSuite)。当时其他同事用的是Eclipse,我用的是STS,因为对Spring框架的支持比较好:直到2017年8月,我才在新公司第一次接触到IDEA。这里还有个小插曲:刚开始用IDEA的时候感觉很不爽,所以一直用STS+IDEA一个多月:在STS上开发,在IDEA上看代码不出所料,拉的时候出问题了以及提交代码:不小心把eclipse项目的相关文件提交到git仓库,导致群里其他人拉代码的时候出现了一系列莫名其妙的问题,浪费了其他人的时间。深深记得当时被领导和一些同事称为外行!!!当时宝宝很苦,还在叛逆:STS/Eclipse这么好用免费,干嘛用IDEA?殊不知,IDEA早已彻底超越。Eclipse,这个历史背景在我的文章中提到过:为此,在痛定思痛,完成自己的学习后,我逐渐开始了我的IDEA“传道”之路:分享这个Java程序给个人、团队、公司员工开发锋利的工具。IDEA作为IDE(IntegratedDevelopmentEnvironment),功能强大,缺的就是你的探索。对我来说,最能提高我效率的亮点主要有:快捷键主题快捷键如果你羡慕早年在命令行打字的同学,那么在工程开发场景下,你应该可以把666当成快捷键的同学都惊呆了。我们每天都使用快捷键。毕竟这些键大家都很熟悉了:对于我来说,我觉得快捷键可以立马提高开发效率,而且是快捷方式。所以我在学习IDEA的时候,都会用有道云笔记记录一下自己用过的快捷键。有70多个“很多”:我最常使用其中的50个。经过几年的反复“练习”,这50条已经形成了肌肉记忆,大大提高了我的效率。Tips:任何事情都不是越多越好。快捷键也是如此。只有在常用的情况下,设置快捷键才有意义。主题如下图,这是我用的IDEA主题。2012年2月,IntelliJIDEA发布了深色主题,瞬间提升了工程师的B级地位,从此找女朋友似乎容易多了。俗话说,外行看热闹,内行看门道。主题永远不能说明一个工程师编程水平的高低,但为什么我会认为它是我提高效率的工具呢?我当然同意主题不能代表工程师的编程水平,但不妨碍它帮我提高效率。这个主题风格其实是从我开始使用MyEclipse的时候就继承下来的。先说说它对我的帮助:我喜欢暗色调,所以整体感觉暗色调很舒服。颜色都是自己定制的,所以整体呈现出来是我喜欢的风格,每一种颜色都能说明一切。这是最重要的一点。举个例子,以我的主题为例:纯黑:interface接口灰黑:abstract抽象类浅灰:@annotation注解green:class类pink:成员属性red:定义局部变量red+italic:使用局部变量.......太多了,不用一一举例了。快捷键和主题是帮助我提升效果最大的两个方面。当然,还有许多其他较小的设置方面。文章之后,我会和大家分享我这样做的一些想法和建议,供大家参考,酌情采纳。为什么有的高手觉得用记事本写代码牛逼?这来自知乎上的一个问题:一些我觉得挺有意思的回答:能跑马拉松的人,自然比开42公里的人强。但是如果不开车出去走42公里,那就是SB……啊?为什么有些菜鸟不觉得用记事本写代码很牛逼呢?大神们没时间管这些。。。实在是没有IDE可用的情况下,用记事本就可以熟练的写代码了,确实是nb。不用记事本打码也能看出你对IDE有多nb,高手也是sb。总会有一些菜鸟,顶礼膜拜大神在极端情况下的无奈之举,为虚荣的大神穿上皇帝的新衣……总之,我觉得如果你能在记事本上飞翔的话,如果你是一个精通代码,那么使用IDEA这样的工具,效率会提高99.9999%。记得曾经有位读者私聊我,说面试官让他在纸上写一个在控制台输出helloword的程序(或者用电脑上的记事本)。需求很简单:javac可以直接编译运行。然后,他挂了电话!可能有人会觉得问这种面试题没有意义,毕竟不会有人用Notepad写Java。但是现在谁让面试变得这么复杂了?作为开发工程师,最后不就是为了这些东西去拼吗,就像郭德纲说的:“相声说到底就是文化。”为什么IDEA“不卡”?IDEA和Eclipse哪个更好?这似乎是一个没有标准答案的问题,但市场会给出答案。在我的细节上,肯定是IDEA比较好,或者用我有道云笔记本上记录的一句话来解释:(相对)不卡,一般只有一个解决办法:大量使用内存,以空间换时间。所以IDEA对内存的消耗还不算(只开了2个项目):在目前存储价格越来越低的趋势下,这样做显然是值得的,苹果产品也是如此。检查您的iPhone、iPad或Mac是否长期占用超过85%的内存。与CPU的计算能力不同,内存等资源不用则浪费。为此,开发者愿意为此买单,拥抱IDEA。当然,如何使用内存也很重要。这就是拉开IDEA和Eclipse差距的“核心竞争力”:索引。无处不在的索引作为程序员,我们对索引这个词并不陌生。比如接触时间最长的数据库索引:只有SQL比较慢,加个索引一般可以解决90%以上的问题;还有Mac文件搜索系统的索引:索引有两个明显的特点:可以大大提高搜索效率。只是创建往往创建一次很耗时(数据越多越耗时)。在IDEA中,当你打开一个新项目或者点击这个按钮重启时:一般会经历一个比较“长”的索引过程,一般是Blocking,你什么也做不了(新版IDEA对此做了优化,部分步骤可以并行化):针对当前项目的文件,对Spring系统依赖建立索引,对其他依赖建立索引,对JDK建立索引。可能会比较耗时(项目越大,依赖越多,越费时),会消耗大量的CPU资源,所以这时候你的CPU风扇很可能会高速旋转起来,就像this:因为IDEA创建了这么多的Index,所以代码提示,理解你的智能提示,代码自动修复等都成为可能,最后给你的感觉是IDEA好像没有卡顿了!正确使用IDEA的姿势和思路。下面我只结合自己的理解,给出一些比较常用的,IDEA的最佳实践和我的思路,供大家参考,大家可以酌情获取。查找类类这个功能是最常用的,也是我最想说的。说实话,我亲眼所见的同学中,几乎有一半是在想找某个班级的时候用的:不知道你们看到这个搜索结果是什么感觉?明明只要找到Application类就可以了,为什么要搞出这么一个类呢?一大块搜索结果呢?看得眼花缭乱~当然不能怪IDEA,那是你的姿势不对。这个功能叫做全文搜索,就是说只要标题/内容中有关键词,就会匹配。它非常强大,但是它也消耗更多的性能并且更容易导致计算机死机。注意:此搜索仅搜索内容,而不搜索标题/文件名。幸运的是,一般来说用它来找Java中的类显然是不合适的,因为干扰项太多了。最佳实践应该是它(Navigate->Class...):它专门用于检索和查找类(包括内部类)源文件(即.java源文件)。默认情况下,您正在查找当前项目。如果要查找jar包中的类(比如JDK、Spring中的类),点击右上角更改查找位置即可:新版IDEA更聪明了,好像可以自动切换,想你所想,在大多数情况下是准确的。如果你需要切换,我还是建议你使用快捷键来完成快速切换,而不是使用效率较低的鼠标。一般来说,使用这个函数来查找类是最高效和准确的,因此是最佳实践。以查找文件为例:我们经常会遇到需要查找application.properties/yaml配置文件来编写配置的情况。一种方法是逐层打开文件夹,另一种当然是更快的方法:搜索。这时候很多同学还是拿出了自己的“全文搜索”:woho,不行!原因上面已经说了:这个搜索只检索内容,不检索标题。所以可以使用下面的方法,这是最佳实践(Navigate->File...):毕竟大多数时候我们是根据文件名而不是文件内容来查找文件的。项目窗口位于右侧。如果以上两项是我的“强制性”建议,那么这只是我的一个小建议。请根据个人习惯参考。看到下图,不知道大家怎么看:原来Noda可见区域,代码区域只剩下1/5左右。据我所知,这是很多开发同学的常态,尤其是调试断点调试的时候,可视区域可能会变小。大屏外接显示器好难买。。。虽然这跟个人窗口管理习惯有关(有人喜欢整洁,有人喜欢马虎),我还是推荐右侧的项目窗口(一般只有项目window放在左边),所以这里我只强调工程window的解决方法ha)。我的理由如下:第一点也是最重要的一点。它为最重要的代码区域带来了稳定性。我们写代码都是从左到右的,每行代码的长度一般不会太长,所以大多数情况下代码区右边会有很多空白,所以应该使用。第二点是窗口放在了右边,保证了代码区的视觉稳定性。如果窗口在左边(比如项目窗口),我们把它折叠或者展开,这样代码区会先向左移动,再向右移动,视觉上会比较累。第三点,几乎没有窗口需要一直占据空间区域,所以放一边管理吧,分享会更好。这样可以节省更多的空间来显示代码。当窗口统一放在右侧时,代码显示区域明显改善(并且更稳定),即使是调试:当然,当然,当然,一切取决于你的习惯为准。Cloudification自带的IDEA配置IDEA从下载到顺利使用,其实需要做的步骤还是挺多的。例如:字体大小、字体样式、标签样式、关闭拼写检查、区分大小写的智能提示、单行功能、自动折叠……这些小配置设置起来并不难,只要花点时间就可以了抓住他们。但是,如果:IDEA卸载(干净利落地)重装更换电脑,你是不是要为你习惯的丢失配置而死?好在IDEA有导出配置的功能,你可以导出一个jar包。新的IDEA可以导入这个jar。但更安全、更方便的方式是将配置云化。一开始IDEA不支持云存储的时候(我没记错应该是2019年6月以前的版本),我的做法是把这个jar放在云端,放在有道云笔记里:nowitsall对了,IDEA支持云存储:支持两种方式:走JetBrains账号优点:最方便缺点:毕竟是墙外服务器,速度堪忧定制一个仓库管理优势:码云,CSDN等.可以提供内墙免费仓库缺点:需要配置仓库地址很明显,我选择了方法2为自己定制主题IDEA内置了多种主题:亮色和深黑色,给你带来灵感。当然题材同皮,萝卜白菜,每个人都有自己的喜好,同学们酌情考虑。考虑到确实有很多同学“喜欢”作者的主题,所以我公开了,需要的同学可以在后台回复IDEA主题:IDEA主题,即可获取。综上所述,IDEA是Java程序员每天都在使用的工具。我仍然建议您可以花一些时间来构建它。毕竟磨刀不误砍柴工。这篇文章是对IDEA的一些实践经验的一个比较笼统的介绍。本次IDEA专栏还有很多比较详细但是非常好用强大的功能会和大家分享,比如代码分析,代码检查,代码自动优化等等。最后分享给大家,喜欢的请关注感兴趣。