日常开发中,相信广大 Java 开发者都使用过 IntelliJ IDEA 作为开发工具,IntelliJ IDEA 是一款优秀的 Java 集成开发环境,它提供了许多强大的功能和快捷键,可以帮助开发者提高编码效率和质量。除了一些常见的技巧,如自动导包、智能补全、重构工具等。IntelliJ IDEA 还有一些不为人知的技巧,可能很多开发者都没有注意到或者使用过。本文就在为你介绍博主常用的五个 IntelliJ IDEA 使用技巧,希望能够给你带来一些工作效率上的提升。本文内容大纲如下:
注意:本文的示例截图以及操作演示都是基于 IntelliJ IDEA 2023.2 版本而来。过低版本可能不尽相同,大家注意。
日常开发中,相信大家在添加注释时都知道使用快捷键 ctrl + /
,不过大家可能会遇见下面这种情况,
java
1 2 3 4 5 6 7 |
<span class="code-block-extension-codeLine" data-line-num="1"> <span class="hljs-keyword">public</span> <span class="hljs-title function_">DiamondJumpContext</span><span class="hljs-params">(List<DiamondJumpType> diamondJumpTypes)</span> {</span> <span class="code-block-extension-codeLine" data-line-num="2"><span class="hljs-comment">//添加注释</span></span> <span class="code-block-extension-codeLine" data-line-num="3"> <span class="hljs-keyword">for</span> (DiamondJumpType diamondJumpType : diamondJumpTypes) {</span> <span class="code-block-extension-codeLine" data-line-num="4"><span class="hljs-comment">// map.put(diamondJumpType.getType(), diamondJumpType);</span></span> <span class="code-block-extension-codeLine" data-line-num="5"> }</span> <span class="code-block-extension-codeLine" data-line-num="6"> }</span> |
可以看到,使用快捷键 ctrl + /
添加注释代码或者注释已有代码时,默认是在首行位置,无法与下方 for
循环代码自动对齐,造成了视觉上的不美观,那如何解决这个问题嘞?其实解决方法就藏在 IDEA 里,我来告诉大家如何设置。
打开 IDEA 设置 Editor -> Code Style -> Java -> Code Generation
,找到下方的 Comment code
区域, 取消 Line comment at first column
的默认勾选,将 Add a space at line comment start
以及 Enforce on reformat
打上勾就可以了。如下图所示,
然后我们重新给上面的示例代码打赏注释时,效果就是下面这样了,
java
1 2 3 4 5 6 7 |
<span class="code-block-extension-codeLine" data-line-num="1"> <span class="hljs-keyword">public</span> <span class="hljs-title function_">DiamondJumpContext</span><span class="hljs-params">(List<DiamondJumpType> diamondJumpTypes)</span> {</span> <span class="code-block-extension-codeLine" data-line-num="2"> <span class="hljs-comment">// 添加注释</span></span> <span class="code-block-extension-codeLine" data-line-num="3"> <span class="hljs-keyword">for</span> (DiamondJumpType diamondJumpType : diamondJumpTypes) {</span> <span class="code-block-extension-codeLine" data-line-num="4"> <span class="hljs-comment">// map.put(diamondJumpType.getType(), diamondJumpType);</span></span> <span class="code-block-extension-codeLine" data-line-num="5"> }</span> <span class="code-block-extension-codeLine" data-line-num="6"> }</span> |
大家可以很明显的看到,此时添加的注释默认是跟当前代码对齐,并且自动留出一个空格,代码的可阅读性有了很大提升。
日常开发时,当大家想新建 Java 类时,考虑到项目的包目录划分可能需要新建一个包目录,那么大家是如何操作的嘞?是先创建好包目录后,在创建 Java 类吗?其实在 IDEA 中创建 Java 类时,是可以直接顺带创建包目录的,具体操作如下。
在创建 Java 类时,直接写出包目录名称通过 .
拼接即可,如下图新建 Java 类时填上 controller.TestController
,
效果如下,
可以看到,包目录自动创建成功。
快速创建文件夹的方式跟快速创建包目录差不多,只不过将 .
拼接改为 /
即可,如下图新建文件时填上 template/test.csv
,
效果如下,
可以看到,文件夹自动创建成功。
日常中有个场景,博主经常在上网浏览网上的技术资料,看到感兴趣的文章时,想要复制文章中的 demo 代码在本地跑一遍验证一下。于是就有了这个快付复制代码生成 Java 类的需求。起初博主老老实实通过常规操作在本地手动创建 Java 类,然后拷贝 demo 代码进行验证。后来了解到其实在 IDEA 中是有快付复制类代码生成 Java 类的功能,这里分享给大家。
假如当前我们想要快速复制下方的 Java 类代码到 IDEA 项目中,那改如何操作嘞?
java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<span class="code-block-extension-codeLine" data-line-num="1"><span class="hljs-comment">/**</span></span> <span class="code-block-extension-codeLine" data-line-num="2"> * 金刚位跳转策略配置</span> <span class="code-block-extension-codeLine" data-line-num="3"> */</span> <span class="code-block-extension-codeLine" data-line-num="4"><span class="hljs-meta">@Component</span></span> <span class="code-block-extension-codeLine" data-line-num="5"><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">DiamondJumpContext</span> {</span> <span class="code-block-extension-codeLine" data-line-num="7"> <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> Map<Integer, DiamondJumpType> map = <span class="hljs-keyword">new</span> <span class="hljs-title class_">HashMap</span><>();</span> <span class="code-block-extension-codeLine" data-line-num="9"> <span class="hljs-comment">/**</span></span> <span class="code-block-extension-codeLine" data-line-num="10"> * 由spring自动注入DiamondJumpType子类</span> <span class="code-block-extension-codeLine" data-line-num="11"> *</span> <span class="code-block-extension-codeLine" data-line-num="12"> * <span class="hljs-doctag">@param</span> diamondJumpTypes 金刚位跳转类型集合</span> <span class="code-block-extension-codeLine" data-line-num="13"> */</span> <span class="code-block-extension-codeLine" data-line-num="14"> <span class="hljs-keyword">public</span> <span class="hljs-title function_">DiamondJumpContext</span><span class="hljs-params">(List<DiamondJumpType> diamondJumpTypes)</span> {</span> <span class="code-block-extension-codeLine" data-line-num="15"> <span class="hljs-keyword">for</span> (DiamondJumpType diamondJumpType : diamondJumpTypes) {</span> <span class="code-block-extension-codeLine" data-line-num="16"> map.put(diamondJumpType.getType(), diamondJumpType);</span> <span class="code-block-extension-codeLine" data-line-num="17"> }</span> <span class="code-block-extension-codeLine" data-line-num="18"> }</span> <span class="code-block-extension-codeLine" data-line-num="20"> <span class="hljs-keyword">public</span> DiamondJumpType <span class="hljs-title function_">getInstance</span><span class="hljs-params">(Integer jumpType)</span> {</span> <span class="code-block-extension-codeLine" data-line-num="21"> <span class="hljs-keyword">return</span> map.get(jumpType);</span> <span class="code-block-extension-codeLine" data-line-num="22"> }</span> <span class="code-block-extension-codeLine" data-line-num="23">}</span> |
其实操作是很简单的,我们可以通过全选复制上述 Java 类代码,然后打开 IDEA,鼠标选中指定的包目录后通过 ctrl + v
粘连即可。
效果如下,
可以看到,我们已经将 Java 类代码快速复制到本地文件中。
日常本地开发微服务项目时,博主想要验证一下网关的负载均衡以及感知服务上下线能力时,需要用到多实例启动。
那么什么是多实例启动嘞?简单说就是能在本地同时启动多个同一服务。打个比方项目中有一个 MobileApplication
服务,我现在想要同时启动两个 MobileApplication
服务,通过不同端口区分,该如何操作嘞?IDEA 中其实是支持这个操作的。我将给大家介绍如何启用多实例功能。
打开服务配置,点击 Modify options
选项,
勾选打开 Operation System -> Alow multiple instance
,继续勾选打开 Java -> Program arguments
,然后在 Program arguments
输入框中指定端口,在 Spring
项目中通过 --server.port=9999
,如下图(注意每次启动实例时,这里的端口不能相同),
效果图如下,
可以看到,这里多实例启动的功能就 OK 了,在 Modify options
选项中还有许多常用功能,对于日常开发都是很多帮助的,比如 Java -> add VM options
可以用来添加 jvm 启动参数等。
日常开发中,当项目上线时,博主经常会使用这个功能,用于比较当前新功能分支与 master
分支的代码差异。
假如新功能分支上线前经历了多个人员参与迭代以及冲突修复,作为项目主程的你需要在项目上线前进行代码 review
,以确保代码质量,那该如何操作嘞? 其实 IDEA 已经贴心的为我们做好了一切,这里我将给大家介绍远程分支比较功能。
右键项目根目录,找到 Git -> Compare with Branch
选项,点击打开,
此时 IDEA 会显示项目的所有分支列表,我们从中找到 master
分支,点击即可,
最后 IDEA 会显示所有的文件差异在项目左侧栏目,我们点击某个文件即可查看某个具体差异。
效果如下,
可以看到,通过 IDEA 提供的分支比较功能,为我们进行代码 review
,提供了非常便利的操作。
其实本文所讲解的五个实用技巧不光在 IDEA 里可以使用,在 PhpStorm、PyCharm 中都是通用的,欢迎大家在浏览完本文后实践体验下。最后希望本文在日常工作中能够帮助到大家,感谢阅读。