IDEA 30 个好用天花板技巧,敲代码直接接爽到飞。

news2025/1/10 10:34:39

IDEA 作为Java开发工具的后起之秀,几乎以碾压之势把其他对手甩在了身后,主要原因还是归功于:好用;虽然有点重,但依旧瑕不掩瑜,内置了非常多的功能,大大提高了日常的开发效率,下面汇总了常用的30个使用小技巧,学会之后,让你的撸码效率直接起飞...

  1. 查看代码历史版本

  1. 调整idea的虚拟内存:

  1. idea设置成eclipse的快捷键

  1. 设置提示词忽略大小写

  1. 关闭代码检查

  1. 设置文档注释模板

  1. 显示方法分隔符

  1. 设置多行tab

  1. 快速匹配方法的大括号位置

  1. 代码结尾补全

  1. 模糊搜索方法

  1. 预览某个类的代码

  1. 查看方法在哪里被调用

  1. 代码模板(代码快捷键)

  1. 自动导包、自动移除没用的包

  1. codota插件:可以优先显示使用频率较高的类、方法

  1. 快速查看类、字段的注释

  1. 括号颜色区分

  1. 微服务项目中 将不同项目添加到同一个启动窗口

  1. idea全局设置 (打开新窗口的设置)

  1. java mapper层代码文件和mapper.xml文件相互跳转

  1. 设置idea背景图片

  1. maven tree (查看maven jar包依赖关系)

  1. 快捷键切换回上一个点击开的tab

  1. idea自带的ssh连接工具

  1. 代码调用链路图插件

  1. 获取当前线程dump

  1. idea同个项目不同端口多开

注意:不同idea版本菜单、目录可能有细微差别,自己稍加分析都能找到

1.查看代码历史版本


鼠标在需要查看的java类 右键 找到Local History >> Show History 点开即可看到历史版本,常用于自己忘记代码改了哪些内容 或需要恢复至某个版本 (注意 只能看近期修改 太久了也是看不到的)

2.调整idea的虚拟内存


尽管本质都是去改变 .vmoptions配置文件,但推荐使用Change Memory Settings去调整,选择Edit Custom VM Options 或者在本地磁盘目录更改,通过某些方法破解的idea 很可能造成idea打不开的情况

3.idea设置成eclipse的快捷键


这对eclipse转idea的开发人员来说 非常友好,这样不需要记两套快捷键

4.设置提示词忽略大小写


把这个勾去掉,(有的idea版本是选择选项 选择none即可),例如String 输入string 、String 都可以提示

5.关闭代码检查


与eclipse类似,idea也可以自己关闭代码检查 减少资源使用,但不推荐全部关闭,(是大佬当我没说),把我们项目中不会使用到的关闭就好了

6.设置文档注释模板


文档注释快捷键及模板

https://blog.csdn.net/qq_36268103/article/details/108027486

7.显示方法分隔符


方便查看方法与方法之间的间隔,在代码不规范的项目中 很好用!

8.设置多行tab


idea默认是选择显示单行的,我们把这个去掉,就可以显示多行tab了,在打开tab过多时的场景非常方便!

8.1 tab过多会自动关闭

settings - editor - General - Editor tabs - tab limit 数值设大就好了

9.快速匹配方法的大括号位置


ctrl+[ ctrl+] 可以快速跳转到方法大括号的起止位置,配合方法分隔符使用,不怕找不到方法在哪儿分割了

10.代码结尾补全


例如一行代码补全分号,或者是if(xxx) 补全大括号,按ctrl+shift+enter 无需切换鼠标光标,大幅度提升了编码效率

11.模糊搜索方法


例如People类里面的test方法,按ctrl+shift+alt+n 输入Peo.te 就可以查到该方法了,如果觉得这个快捷键难记 也可以按ctrl+shift+r (查找某个文件名的快捷键 下图中的Files),再手动选择Symbols

12.预览某个类的代码


例如People类里面的test方法,按ctrl+shift+a

例如我们在test类中,有句代码:People p = new People(); 我们想稍微查看一下People这个类,但是tab已经够多了,ctrl+alt+b会打开新的标签,标签多了就混乱了,尤其一堆命名类似的tab,这时候我们可以按ctrl+shift+i 实现预览功能,不占tab

13.查看方法在哪里被调用


ctrl+alt+h 可以清楚看到方法在哪些地方被调用;在知道这个快捷键之前,都是ctrl+h(idea默认 ctrl+shift+f)搜索,肉眼找的…

14.代码模板(代码快捷键)


例如 : eclipse 中的syso是打印控制台输出 ,但是idea默认是sout , 如果非要改成syso 可以在Postfix Completion里面设置,类似的 fori等都是在里面设置

15.自动导包、自动移除没用的包


15.1 手动导包 :alt+enter 手动移除未使用包: crtl+alt+o

16.codota插件:可以优先显示使用频率较高的类、方法


这个根据个人是否要使用 有的时候工具只能作参考,自己记忆才能保证准确

17.快速查看类、字段的注释


这是一个很有用的小技巧 按F2可以快速查看某个类或某个字段的文档注释 ;基于这点 其它IDE应该也是可以快速查看文档注释内容 不仅仅是idea特性,这也是为什么阿里编码规范里面会明确声明实体类字段需要用文档注释 而不能使用双斜杠// 注释 ,还记得刚看到这个规范的时候 很不理解 特地去百度 看到有人说就是个习惯问题 很显然不能说服人,直到发现F2可以快速查看之后 恍然大悟!

18.括号颜色区分


Rainbow Brackets 插件 成对的括号用相同的颜色表示出来了

19.微服务项目中将不同项目添加到同一个启动窗口


步骤:View ——>Tool Windows ——> services ——>add services

20.idea全局设置(打开新窗口设置)


例如我们打开新窗口时,maven配置会恢复 这时就需要对打开新窗口的设置进行修改 达到一个全局的目的。

在低版本idea中 也是在File下 例如idea2018是叫other settings

21.java mapper层代码文件和mapper.xml文件相互跳转


Free MyBatis plugin 插件

点击绿色箭头可以直接跳转 非常方便

22.设置idea背景图片


BackgroundImage插件

设置喜欢的图片作为背景图

23.maven tree(查看maven jar包依赖关系)


如果是使用 mvn dependency:tree 命令 , 结果是下图这样 很不方便查看

我们可以在idea右上角点击这个ShowDependencies按钮 以图片形式展示出来 图片按住ctrl和鼠标滑轮 可以放大,这个在排除依赖冲突 查看jar包来源时 非常好用

有的时候 可能莫名其妙看不到这个图标 ,我们可以点一下设置

把这个勾上,它就能显示了,等显示后,再把这个勾去掉

24.快捷键切换回上一个点开的tab


当我们打开了多个tab的时候 , 想要快速回到上一个点击的tab中 有的时候肉眼很难找

我们可以用快捷键 alt + ← 键 (eclipse版快捷键 idea默认快捷键需要自测) ,有的时候我们在后面tab编辑了内容 按一次可能不够 需要再多按几次 ,相应的 alt + → 切换到下一个点击的tab

常见应用场景:debug发生类跳转时 、利用快捷键在其它类中创建方法时

即使两个tab不相邻 也可以切换回去

25.idea自带的ssh连接工具


类似的idea还有自带的数据库连接工具 但是视图界面并不如Navicat 所以很多人都不选择用
  • 第一步:配置账号密码

  • 第二步:开启ssh会话

26.代码调用链路图插件


SequenceDiagram 插件

这其实是本文第13点的上位替代方案,idea自带的快捷键查看代码调用,只是以菜单形式展示,不太直观,如果是自己写的代码或比较规范的代码,那用自带的也就无所谓,如果是比较复杂的源码或不规范的代码,那使用 SequenceDiagram 会直观特别多。

在要查看的java文件鼠标右键,点击 Sequence Diagram

效果示例:

27.获取当前线程dump


在断点调试的时候,我们可以通过点击下图红色箭头指向的相机图标,获取当前线程的dump信息。

这个功能有什么用呢?我们可以通过线程名,分析当前是哪个线程执行的,在多线程环境下对代码运行分析起到辅助作用。

比如下图1, run()方法是通过main主线程执行的,只是方法调用,并没有启动多线程(这是我们熟知结论的实践证明)

当我们把run方法改成start()方法时,可以看到是线程thread0执行的。

28.idea同个项目不同端口多开


这是个非常实用的功能,可以模拟集群 测试负载均衡。

此外 在开发阶段也是非常好用,开发过程中,让别人直接连自己本地测试 是不是非常方便?

那自己又想打断点调试 会影响别人 怎么办呢 ?这个时候多开的作用就体现出来了!

网上很多方法提到勾选 Allow parallel run (不同版本idea 名称不一样) ,我也亲眼见过有老师是可以多开启动的, 但我本地启动发现每次都会同时同端口启动多个,不知道是版本问题还是操作问题,这里我用的是另一种有效的方法:

VM options 加上

# 8993是区别于 application.yml 配置中 port 的另一个端口,达到不同端口多开的效果-Dserver.port=8993

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/366368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LAMP架构与搭建论坛

目录 1、LAMP架构简述 2、各组件作用 3、构建LAMP平台 1.编译安装Apache httpd服务 2.编译安装mysql 3.编译安装php 4.搭建一个论坛 1、LAMP架构简述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动…

Spring Boot整合Thymeleaf和FreeMarker模板

虽然目前市场上多数的开发模式采用前后端分离的技术,视图层的技术在小一些的项目中还是非常有用的,所以一直也占有一席之地,如spring官方的spring.io等网站就是使用视图层技术实现的。 目前Spring Boot支持的较好的两个视图层模板引擎是Thyme…

【git】git版本控制

目录 1.在合适的位置打开bush,创建仓库 2.检查:跳转到当前文件夹,显示当前文件夹的相对路径 3.初始化 4.创建一个文本文件readme.txt 5.手动向readme文件中添加一些内容 6.把文件添加到暂存区 7.把文件提交到git仓库 8.手动修改readme.txt文件 9.查看当前…

前端监控之用户行为监控实践2(数据统计mongodb)

一、技术栈介绍 我们当前的项目,后端是node 搭建,数据库是非关系型数据库 mongodb。 二、数据情况介绍 日志存储存储格式如下: 主要包括: key意义type当前访问类型actionTime访问时间content访问内容erp、fullname、orgname、…

【Spring MVC】这一篇,带你从入门到进阶

目录 1、什么是MVC? 2、什么是 Spring MVC 3、如何学好 Spring MVC? 3.1、如何创建 Spring MVC 项目 3.1.1、使用Spring Initializr创建(推荐) 3.2、将 Spring 程序与用户(浏览器)联通 3.3、基础注解…

6.5 拓展:如何实现 Web API 版本控制,同时兼容无版本控制的原始接口?

第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战:实现 Web API 版本控制 6.5 拓展:如何实现 Web API 版本控制,同时兼容无版本控制的原始接口? 6.5 拓展&#…

干旱预测方法总结及基于人工神经网络的干旱预测案例分析(MATLAB全代码)

本案例采用SPEI干旱指数,构建ANN和BP神经网络预测模型,并开展1~3个月预见期的干旱预测,对比分析干旱预测模型的适用性,为流域干旱预警和管理提供技术依据。 干旱预测 1 干旱预测方法 1.1 统计学干旱预测 根据历史降水或气温等…

【python】用plotly绘制正二十面体

文章目录顶点棱实现正二十面体plotly 的 Python 软件包是一个开源的代码库,它基于 plot.js,而后者基于 d3.js。我们实际使用的则是一个对 plotly 进行封装的库,名叫 cufflinks,能让你更方便地使用 plotly 和 Pandas 数据表协同工作…

设备树(配合LED驱动说明)

目录 一、起源 二、基本组成 三、基本语法 四、特殊节点 4.1 根节点 4.2 /memory 4.3 /chosen 4.4 /cpus 多核CPU支持 五、常用属性 5.1 phandle 5.2 地址 --------------- 重要 5.3 compatible --------------- 重要 5.4 中断 --------------- 重要 5.5 …

python攻陷米哈游《元神》数据?详情请看文章。。

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 《原神》是由米哈游自研的一款全新开放世界冒险RPG。 里面拥有许多丰富得角色,让玩家为之着迷~ 今天,我们就来用python探索一下原神游戏角色信息! 标题大家看看就好了哈~&#xff08…

DNS,DNS污染劫持,DNS加密

1. DNS(Domain Name System)DNS(Domain Name System), 也叫网域名称系统,是互联网的一项服务。它实质上是一个 域名 和 IP 相互映射的分布式数据库.DNS(Domain Name Server,域名服务…

医疗保健和智慧城市服务将引领5G物联网采用

Juniper Research预测,到2026年,全球5G物联网连接将达到1.16亿,而2023年仅为1700万。该公司预测,医疗保健部门和智慧城市服务将在未来三年推动这1100%的增长,到2026年占5G物联网设备的60%以上。5G物联网技术的超低延迟…

配置Flutter开发环境

一、在Windows上搭建Flutter开发环境 1、去flutter官网下载其最新可用的安装包,下载地址:https://flutter.dev/docs/development/tools/sdk/releases 。 注意,Flutter的渠道版本一直在不断的更新,请以Flutter官网为准。 另外&…

自动化测试框架对比

Robot Framework(RF) 链接:http://robotframework.org/ Robot Framework(RF)是用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。 基于 Python 编写,但也可以在 Jython&…

Android 基础知识4-3.1 TextView(文本框)详解

一、前言 TextView就是一个显示文本标签的控件,就是用来显示文本。可以在代码或者 XML中设置字体,字体大小,字体颜色 ,字体样式 (加粗级斜体),文字截断(比如:只显示10个字…

【Python数据挖掘入门】一、数据挖掘概况

一、数据挖掘概况 数据挖掘是指从大量的数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、具有价值的信息和知识的过程。 典型案例: 啤酒与尿布杜蕾斯与口香糖杜蕾斯与红酒 数据挖掘是一门交叉学科,覆盖了统计学、数…

正则表达式常见语法_findall方法、r原串的使用

正则表达式常见语法 re.findall()方法 findall()方法中flag参数的作用 运行结果为 运行结果是空列表, 以上说明,正则表到时中的“点号”不能和换行符匹配。 如果匹配模式设置为re.DOTALL或者re.S&#xff…

类与对象(this 关键字、构造器)

目录一、面向对象二、类与对象三、对象内存图四、成员变量和局部变量区别五、this关键字六、构造器/构造方法一、面向对象 一种编程思想:也就是说我们要以何种思路,解决问题,以何种形式组织代码 当解决一个问题的时候,面向对象会把事物抽象成…

23年六级缓考

【【六级674】3月六级规划+许愿成功的小伙伴记得来还愿啦!!(四六级延期考2周冲刺计划)】https://www.bilibili.com/video/BV1nx4y1w7fz?vd_source=5475f4f6010a81c8e6d4789af8e1a20f 作文

「TCG 规范解读」初识 TPM 2.0 库续一

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…