IDEA常用提升效率的操作小记

news2024/11/25 12:41:32

IDEA目前是使用最广泛的Java开发工具之一了,虽然是收费的,但是也提供了免费的社区版,并且收费版也支持使用github的开源项目,使用免费license,虽然每年都要续,我用的就是开源项目申请的免费license。

开发过程中,会有很多的提升开发、调试效率的快捷键、插件、视图、配置等,而且经常每2个人了解的提效操作都有各有不同。有的时候,我不小心看到别人的操作,都会惊讶,还有这种操作。
本文就尝试记录一下,我所学习到的那些提效的操作:

一、快捷键相关

注意:如果在IDEA里,发现如下快捷键不可用,在确认你没有修改过的情况下,通常是被别的程序占用了:

  • 输入法使用了该快捷键,之前用的百度输入法占用过
  • QQ占用
  • 微信PC版

1、转方法定义

Ctrl+鼠标左键

  • 点击方法,会转到方法的定义
  • 点击变量,会转到变量的定义
    注:如果进入了反编译的代码,可以点右上角的【下载源码】看带注释的正常代码

2、转方法实现

Ctrl+Alt+鼠标左键

  • 点击方法,如果是接口或父类的方法,会跳转到子类的实现;
    如果有多个子类实现,会弹出列表,让你选择其中一个实现再跳过去。
    注:这个快捷键我以前不知道,每次都要先转到接口,再点接口左侧的绿色小箭头转实现,汗……

3、弹出可重写的方法列表

Ctrl+O
在一个类里,按此快捷键,会弹出当前类可以Override的所有方法列表,如:
在这里插入图片描述

4、快速格式化代码

Ctrl+Alt+L
会自动格式化当前文件的代码,请自觉养成这个好习惯。
注:我现在已经养成习惯,写点代码,就按下快捷键,甚至在记事本、Word等也经常按,按完才发现不对……

5、全局查找

  • 按2次shift,会弹出全局查找窗口,可以查找任意内容:类、方法、字符串、Controller的路由
    在这里插入图片描述
  • 按Ctrl+Shift+F 弹出全局字符串查找窗口
  • 按Ctrl+Shift+R 弹出全局字符串替换窗口

6、弹出注释

Ctrl+Q
弹出鼠标所在类、方法、注解的注释,方便查阅

7、快速环绕代码

Ctrl+Alt+T
选中一段代码,按此快捷键,给它套上try/catch 或 if/else、while:
在这里插入图片描述

8、快速封装方法

Ctrl+Alt+M
选中一段代码,按此快捷键,可以把这部分代码,提取为一个私有方法

9、快速生成临时变量

  • 选中部分代码,按Ctrl+Alt+V,可以把这部分代码,转为临时变量赋值并替换
  • 选中部分代码,按Ctrl+Alt+F,可以把这部分代码,转为类的私有变量赋值并替换
  • 选中部分字符串或数值,按Ctrl+Alt+C,可以把这部分代码,转为常量赋值并替换

10、显示当前类所有方法

Ctrl+F12
弹窗展示当前类的所有方法,尤其是文件行数多的时候比较好用。
Alt+7
在左侧固定展示当前类的所有方法

11、显示历史粘贴板

Ctrl+Shift+V
显示历史复制的列表,可以任意选择进行粘贴

二、插件相关

1、依赖查看和定位插件:Maven Helper

安装了这个插件,然后打开pom.xml的时候,可以切换到依赖树界面,并输入关键字查找包,还可以右键跳转到引用该包的位置:
在这里插入图片描述

2、热部署插件:JRebel

IDEA默认不支持热部署,修改了Java源码或html文件,默认需要重启项目才生效,而有些项目启动几十秒甚至更久,浪费生命。
JRebel插件可以支持修改完代码保存后,等5秒左右就自动生效了。
需要注意的是,这个插件只有14天免费试用,过期了就要收钱了,当然网上有不少破解教程,自己找一找,哈哈。

三、视图相关

1、服务视图

点菜单栏的【视图】=>【工具窗口】=>【服务】,在打开的视图窗口里,点+=>【运行配置类型】=>【SpringBoot】即可自动装载当前打开的SpringBoot项目。
作用:以前在IDEA里启动SpringBoot项目时,默认是打开【运行】视图,调试默认打开的是【调试】视图。但是每次我都忘记了这个项目使用的是哪个端口,而且要手工打开浏览器去输入url。
后面偶然发现IDEA有这个视图,可以直接点击端口,自动从浏览器打开url:
在这里插入图片描述

2、项目视图快速定位文件所在位置

IDEA打开某个文件后,【项目视图】不会同步显示文件所在位置。
此时可以点击【项目视图】上的圆形定位按钮快速定位:
在这里插入图片描述

3、多模块项目,指定目录配置为Maven项目

正常的Maven项目,会显示一个浅蓝的小方块,并且可以在IDEA里构建和启动:
在这里插入图片描述
有时,因为一些原因,这个小方块没了,这个项目也无法启动,会报错。
此时点右边的Maven窗口里的加号,再选择对应目录下的pom.xml就可以了:
在这里插入图片描述

四、配置相关

1、鼠标+滚轮修改字体大小

在这里插入图片描述

2、自动导入合适的包,优化不需要的包

在这里插入图片描述

3、代码界面显示行号和方法间的分行符

在这里插入图片描述

4、代码补全提示忽略大小写

默认情况下,代码补全 会区分大小写,输入小写的s,不会提示String,需要设置这里取消选中:
在这里插入图片描述

5、新建文件时,自动添加注释

参考如下图配置,在新建出来的Java文件,就自动带有注释了
在这里插入图片描述

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

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

相关文章

【Pytorch基础教程39】torch常用tensor处理函数

note 文章目录 note一、tensor的创建二、tensor的加减乘除三、torch.argmax()函数四、gathter函数小栗子1小栗子2:如果每行需要索引多个元素: 四、针对某一维度的操作五、改变维度、拼接、堆叠等操作Reference 一、tensor的创建 torch.tensor会复制data…

STM32配置ADC2(DMA)进行采集 DAC 输出-2

0.一定要先看上一节:STM32配置ADC2(DMA)进行采集 DAC 输出-2 1.实验目标 在上一节的基础上,我们把 DAC(三角波)给集成进来,实现按下按键输出三角波,通过串口发送数据给电脑&#x…

Apache Zeppelin系列教程第二篇——整体架构

Zeppelin 架构: 首先我们来了解下 Zeppelin的架构, Zeppelin 主要分3层。 Web前端 Zeppelin Server Interpreter Zeppelin前端负责前端页面的交互,通过Rest API 和WebSocket的方式与Zeppelin Server进行交互。 Zeppelin Server是一个Web server&…

【python 基础语法一】注释,变量与运算符

一、注释 注释: 就是对代码的解释,方便阅读,被注释的代码不执行 分类 单行注释 # 1.单行注释 以#号开头 ,右边的所有东西都被当做说明文字 ,程序不进行编译运行。 print(hello world)多行注释 # 2.多行注释 三个单引号 或…

Sentinel源码分析学习

文章目录 前言Sentinel源码分析1.Sentinel的基本概念1.1.ProcessorSlotChain1.2.Node1.3.Entry1.3.1.自定义资源1.3.2.基于注解标记资源 1.4.Context1.4.1.什么是Context1.4.2.Context的初始化1.4.2.1.自动装配1.4.2.2.AbstractSentinelInterceptor1.4.2.3.ContextUtil 2.Proce…

django显示echart图表:柱状图、折线图、饼图、地图、词云

django显示echart图表 效果: 示例demo 点我查看 1、urls.py 其中关键代码: urlpatterns = [path("book_chart/", views.book_chart, name="book_cha

LINUX压缩和解压和磁盘管理与维护命令

文章目录 一、压缩和解压命令二、磁盘管理与维护命令总结 一、压缩和解压命令 Linux zip命令:压缩文件或目录 Linux unzip命令:解压文件或目录 Linux tar命令:归档工具 二、磁盘管理与维护命令 Linux df命令:显示磁盘空间使用情况 Linux mount命令:挂载文件系统 Linux quota命…

APK文件结构

文件结构 assets文件用来存放需要打包到Android 应用程序的静态资源文件,例如图片资源文件,JSON配置文件,渠道配置文件,二进制数据文件,HTML5离线资源文件等 与res/raw目录不同的数,assets目录支持任意深度…

数位dp。

一,思想: 在处理1e9甚至1e18,1e100的问题时,因为在统计情况下有很多重复的计算,数位dp实现了相同状态只计算一次,从而大幅减少运算时间,思想就是对每一位进行dp,计算时记忆化每一位可以有的状态…

HashMap机制

反思 HashMap之前只是面试时会看下面试题,但实际从没有撸过源码,对于工作多年的菜鸟来说,对技术不尊重,整理了篇文档,记忆加深一下 原理 假如让我们来设计HashMap实现,我们如何设计一个key->value键值…

4.7排序(C语言)

1.八大排序 加一个计数排序(时间复杂度为O(n), 空间复杂度为O(max(n, range),非比较排序)。 2.希尔排序 3.三个O(n^2)的排序的比较 4.归并排序和快速排序 非递归: 5.排序比较 注意: 下面4种高效排序中&…

【Git】篇一

文章目录 一、Git概述1、版本控制器的方式2、Git的工作流程图 二、Git的安装与常用命令1、Git环境安装2、Git环境基本配置3、获取本地仓库4、基础操作指令 三、分支 一、Git概述 开发中,代码备份、代码还原回滚、追溯、协同开发等场景必不可少,由此&…

特征可视化技术(CAM)

https://zhuanlan.zhihu.com/p/269702192 CAM技术可以帮助我们理解CNN在图像中寻找目标对象的过程,并且可以用于可视化CNN的中间层特征,以及对图像分类结果的解释和可视化。CAM技术的实现比较简单,可以使用常用的深度学习框架如PyTorch和Te…

【C++】模板进阶——非类型模板参数、模板特化、模板分离编译

目录 1.非类型模板参数array 2.模板的特化2.1概念2.2函数模板特化2.3类模板特化1.全特化2.偏特化3.类模板特化应用示例 3.模拟分离编译3.1什么是分离编译3.2模板的分离编译1.问题:2.原因3.解决方法 4.模板总结 1.非类型模板参数 模板参数分为类型形参 与 非类型形参…

重新思考无边界世界中的网络安全

©网络研究院 在一个越来越不是物理边界而是数字边界的世界里,全球网络安全事件的数量持续上升,公共部门机构面临的挑战也随之增加。 保护组成数据的利害关系比以往任何时候都更加重要。为了抵御这些数字威胁,政府机构正在采用零信任方…

sqlite基础

一.sqlite基础 1.下载与环境配置 从下载地址,点击我 这里下载适合你版本的压缩包 您需要下载 sqlite-tools-win32-*.zip 和 sqlite-dll-win32-*.zip 压缩文件。创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.d…

【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只…

ToLua框架

ToLua 是一个用于在 Unity 中为 Lua 提供 C# 语言绑定的框架。通过 ToLua,你可以方便地将 C# 代码暴露给 Lua 脚本,并在 Lua 脚本中调用 C# 类、方法和属性。 更新流程 原理:使用AssetBundle进行资源的更新,而由于lua运行时才编…

架构设计-分布式ID

一、 分布式ID基础 1.背景 1.为什么要引用分布式主键ID? 比如单机 MySQL 数据库,前期因为业务量不大,只是使用单个数据库存数据,后期发现业务量一下子就增长,单机 MySQL 已经不能满足于现在的数据量,单机…