其实我特别不想写那种“正确”得要命的技术文章。
什么“工欲善其事必先利其器”,这话都说烂了。
可是就在昨天,隔壁组的那个小哥,代码写到一半的时候,电脑突然崩溃了,结果既没有提交,也没有进行推送操作,差一点儿就当场决定辞职走人。
最后靠什么?

Local History啊朋友们。
有些东西,比git还亲
你看,查看代码历史版本这事,真不是 git 能全包的。

鼠标右键,Local,Show History。
就这么简单 。

常常做那种事,改过一番后,越琢磨越觉得不太对劲,随后点开这个,望着昨天那个虽笨却能运行的自身,悄然点了个还原。
关于调优,我差点把电脑搞废
调整idea的虚拟内存。
这坑我踩过。

教程在网上说要去改动安装目录之下的那个.vmoptions 文件,我进行了更改,而后 IDEA 直接就无法打开了。
血的教训:千万别手贱去改安装目录里的。
使用时,需借助 Help -> Edit Custom VM Options这个操作方式。

这玩意儿才是亲生的,安全。
写代码又不是考试,那么严格干嘛
代码提示忽略大小写。
那个默认的严格模式真的烦。

明明我是想要输入StringBuffer的呀,仅仅只是因为手抖了一下,没有把S大写,它居然就不认识我了,这是怎么回事呢?
在设置当中进行查找“Code Completion”,将Case sensitive修改为None。
这样输入小写也能提示大写的东西 。
然而还有那个所谓的自动导包,务必得勾上 “Add unambiguous imports on the fly”。

不然你写个 List,光标在那闪半天,你烦不烦?
老项目就像垃圾堆,得有双好眼睛
刚接手一个遗留系统,那代码,啧啧。
方法之间挤在一起,看得我密集恐惧症都犯了。
显示方法分隔符。

进入设置,找到编辑器相关选项,接着进入常规设置,再找到外观设置,在此处勾选显示方法分隔符这一选项。
瞬间清爽多了,像在垃圾堆里找到了分类垃圾桶。
括号颜色区分。
这玩意儿我装了 Rainbow Brackets 插件。

没有它的时候,那个有着五六层嵌套的lambda,光看括号就能把人眼睛看瞎。
找东西,别用肉眼,用快捷键
我观察过,新人找类,是在项目列表里一个一个文件夹点开的。
老人按 Ctrl + N 。

模糊搜索方法。
你想找 Peo 类的 test 方法?
依照 Ctrl+Shift+Alt+N 进行操作,敲击 “Peo.te”。

回车,起飞。
预览某个类的代码。
不想开新 tab?
按住 Ctrl+Shift+I。

看一眼就关,不留痕迹,像那个什么一样 。
写代码有时候就像搞装修

代码模板。
我习惯 syso 打一个 sout 就出来 。
但我偏要改成 syso,行不行?
Live Templates 里自己改。

另外,具备fori特性,拥有itar特征,这些堪称模板之物,实则为你个人的用具,依照怎样顺手便怎样放置。
自动导包、自动移除没用的包。
强迫症福音。
前往设置,找到自动导入选项,将那两个选项都勾选上。
等到写完类之后,去按一下 Ctrl+Alt+O吧,弄完之后,那些没用的 import 就全部都消失不见了,如此一来,整个世界都变得清静很多了。
微服务?
那是微麻烦
一个服务一个窗口,切来切去像换台。
将不同项目添加到同一个启动窗口。
把那些服务都加进来。
随后弄出一个 Compount 运行配置,一回启动全部服务。
爽不爽?
多开端口。

同一个项目跑不同端口?
复制一份运行配置,对 VM options 作出修改,其内容为:-Dserver.port=8081。
完美。
一些奇技淫巧
查看方法在哪里被调用。

Alt + F7。
或者现在的牛逼插件,能画代码调用链路图。
比如 Call Graph 插件 。
看着那张蜘蛛网,你才知道这破项目有多耦合。
java 文件和 .xml 文件相互跳转。
装 MyBatisX 插件 。
在Mapper接口当中,去直接按下那个鸟形状的图标,然后它就会嗖的一下到达xml那里了。

设置背景图片。
这玩意儿纯属为了心情。
用 Background Image Plus 插件 。

尽管有人讲那是花里胡哨的样子,然而对着一个容貌姣好的女孩子去编写代码,总归是要比面对黑屏要好一些吧,不是吗?
maven tree。
看依赖冲突?

于Maven窗口之中,点击那个带有箭头的图标,运行dependency:tree,或者径直运用 Ctrl+Shift+Alt+U 去查看神图。
切换回上一个点击的 tab。
强化符号 Alt 加上向左箭头(适用于 Windows 系统), 控制加 Alt 加上向左箭头(在 macOS 系统下需留意避免与系统产生冲突)。
最后说点玄乎的
获取当前线程 dump。
Debug 的时候,点那个照相机图标 。
它能告诉你,这代码到底跑在哪个线程上。

有一回线上出现问题,无论如何都没办法进行复现,我当时处于debug模式当中,通过查看线程名,才成功揪出那个隐藏起来的后台定时任务。
写了这么多,其实吧。
工具这东西,就跟找对象一样。
别人的不一定适合你。
你得自己调,自己试,自己折腾。

直到它懂你,你也懂它。
那种感觉呀,是在编写代码直至进入心流状态之际,整个原本喧嚣的世界都瞬间安静下来了,仅仅只剩下光标在不停地闪烁着,并且和你预先所设想的完全是一个样的。
行了,我去改 bug 了。


Comments NOTHING