热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

前言虽然已经使用IDEA很长时间了,但是对于这个强大的工具也只是用到了一些基础功能,所以特地整理出IntellijIDEA软件的一些实用小技巧。希望看

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 这款插件试试


  • Dark Purple Theme 🌟 🌟 🌟 🌟
  • Gradianto 🌟 🌟 🌟
  • One Dark theme 🌟 🌟 🌟

插件推荐

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


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

推荐阅读
  • Ivebeentryingtofindtheoptionofinsertingablanklinebeforetheclosing}oftheclassan ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文详细介绍了如何在项目中引入和配置KindEditor网页编辑器,包括脚本引用、初始化编辑器以及文件上传功能的实现。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 类加载机制是Java虚拟机运行时的重要组成部分。本文深入解析了类加载过程的第二阶段,详细阐述了从类被加载到虚拟机内存开始,直至其从内存中卸载的整个生命周期。这一过程中,类经历了加载(Loading)、验证(Verification)等多个关键步骤。通过具体的实例和代码示例,本文探讨了每个阶段的具体操作和潜在问题,帮助读者全面理解类加载机制的内部运作。 ... [详细]
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
author-avatar
jason---zhu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有