Intellij IDEA 超实用小技巧「含插件主题分享」

image-20210114201725172

前言

虽然已经使用 IDEA 很长时间了,但是对于这个强大的工具也只是用到了一些基础功能,所以特地整理出 Intellij IDEA 软件的一些实用小技巧。希望看完这篇文章可以让大家更高效的学习生活。

本文所有截图和测试均基于 macOS 2020.1 版本 Intellj IDEA

配置

官方说明地址:https://www.jetbrains.com/help/idea/discover-intellij-idea.html

由于文档没有官方中文版本,建议英文不好的朋友可以使用谷歌翻译。

PS:阅读前先切换到对应快捷键版本

image-20210114213455488

接下来就介绍几款我个人觉得相当实用的配置

  1. 自动导入包
    Preferences -> Editor -> General -> Auto Import
    在粘贴时自动导入包(insert imports on paste),图中是选择的 All 也就是默认插入,一般建议还是选择 Ask 自行确认是否导入包。
    image-20210114213028912
  2. 多行显示
    Preferences -> Editor -> General -> Editor Tabs
    可以自由调节 Tab 数目,是否自动换行。建议屏幕大的可以不勾选,选择自动换行,并调大 Tab limit 参数,保留更多的文件。
    image-20210115092450536
    下面是换行的效果图image-20210115092931976
  3. 行号显示
    Preferences -> Editor -> General -> Appearance
    这个配置强烈推荐打开,因为正常报错都会提示对应的行数,日常查找错误的时候一目了然。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tbpqxb3U-1611057073810)(Intellij IDEA 超实用小技巧.assets/image-20210115093041534.png)]效果图image-20210115093243023
    当然不打开也可以通过 command + L 快速跳转到指定行 「windows:ctrl + G
    image-20210115093502114
  4. 代码模版配置
    Preferences -> Editor -> Live Templates
    可以根据自己日常需求配置相关模版,这里我就分别对类和方法设置了自定义注释
    image-20210118192148259
    上面给出我的类注释配置内容,因为使用了 time 和 date 变量所以还需要点击 Edit variables 绑定 name 和表达式。
    image-20210118192525786
    配置完模版后,我们只需要正常输入 /c 就会提示 classInfo 选中回车就可以直接添加设置好的模版注释
    image-20210118192715396

必备快捷键

日常高频的快捷键用 🌟 标记出来,方便大家阅读

查询
介绍快捷键
项目中检索文本 🌟command + Shift + F
快速搜索「ALL」shift + shift
查找 class 🌟command + N
查找目录command + shift + N 输入 /
symbol 查找「模糊查找」command + option + O
编译运行
介绍快捷键
编译command + F9
编译选择的文件、包、模块🌟command + shift + F9
Debug 调试control + D
调试
介绍快捷键图标
下一行「不进入方法体内」 🌟F8image-20210118174821301
下一行「进入方法体内」F7image-20210118165829980
跳出Shift + F8image-20210118174706525
运行到光标处,如果光标前有其他断点会进入到该断点Option + F9image-20210118175621017
计算表达式 🌟Option + F8image-20210118180017291
实用操作
介绍快捷键
跳转指定行command + L
退回/前进到上一个操作位置 🌟command + option + 左/右
跳转到方法/变量定义处 🌟command + B
将选中代码提取方法 🌟command + option + M
折叠当前代码块command + -
展开当前代码块command + +
折叠全部代码command + shift + +

DEBUG

  1. 断点设置条件:右键断点,在 Condition 中输入判断条件,代码会自动匹配停在 50 的时候,非常适合在循环的场景中使用 image-20210118194401944
  2. 返回上一步:复杂业务调试时,手一抖错过断点,再也不需要从头开始了,直接点击 Drop Frame 退回到上一步。image-20210119145359691实例中,当调用到 doubleNum 方法后点击 Drop Frame 按钮就直接退回到 i = 100 位置处。image-20210119145707359
  3. 多线程调试:多线程运行时由于运行顺序无法控制,所以调试比较困难,所以选择具体线程断点,具体操作步骤与「1断点设置条件」类似,只不过这次 Suspend 选项不再是默认的 All 而是选择 Thread image-20210119150739374设置完成后就可以在断点处顺利停下来了,除此之外还可以自己手动切换线程。image-20210119152026814
  4. 强制返回结果/抛出异常image-20210119174756251
  5. 远程调试:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9228 启动应用时需要在 - jar前加上这段参数就可以了。本质上来说就是开启端口,和调试端建立 socket 远程通讯。image-20210119174404051 具体调试的时候只需要正常的调试即可,当然测试用的 URL 请求地址还是远程的。

其他

bookmark

快速上手业务逻辑的神器,对于核心模块的代码都可以通过书签标记,方便需要时快速定位。F3 标记书签,再次 F3 取消书签。

本地历史版本

程序员的老毛病,手抖不小心覆盖了本地代码,ctrl + z 撤销失效的时候就可以试试版本地历史版本还原代码了。选中文件右键 local history -> show history 就可以看到之前编辑的历史版本内容,选择需要的版本还原即可。

image-20210118193611072

禅模式

View -> Apperence -> Enter Zen Mode 禅模式下可以排除所有多余的干扰,相对的日常需要的其他功能也都会被隐藏,当然快捷键还是可以呼出窗口,所以这个模式还是相当考验快捷键熟练度的,当然这个模式下颜值非常能打,我称之为装杯模式。

image-20210118211900661
Inject language

日常在 String 对象中编辑 JSON 时经常会遇到转义字符,导致修改内容相当困难,这个时候就可以使用 Inject language 来编辑 JSON

  1. 光标选择在引号内
  2. option + enter
  3. 选择 inject language or reference 直接按 enter 输入 JSON
  4. 再次 option + enter
  5. 选择 Edit JSON Fragment 就可以打开没有转移字符的编辑窗口
image-20210118215000468

实用插件

插件的安装

如果没有网络问题建议 Preferences -> Plugins -> MarketPlace 直接搜索,如果查询不到也可以在网站搜索中 https://plugins.jetbrains.com/idea 最终的效果相同。

主题分享

由于我日常几乎都是使用黑色主题,所以就只推荐黑色主题了,毕竟没有使用没有发言权,如果有需要亮色主题的可以使用 Material Theme UI 这款插件试试

插件推荐

最后就是推荐一些我日常使用频率比较高,也很实用的插件了。

插件名用途
Alibaba Java Coding Guidelines阿里 Java 规范检查插件
lomboklombok 插件
Rainbow brackets彩虹括号,对应的括号显示相同颜色
Material Theme UI主题图标切换
Free Mybatis pluginMybatis 从代码跳转到 Mapper
leetcode editor上班摸鱼刷算法
.ignoregit 提交过滤文件
GsonFormat根据 JSON 生成 Java 类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值