IntelliJ中高效重构的10个快捷方式详解

 更新时间:2023年01月28日 10:25:30   作者:JAVA旭阳  
这篇文章主要为大家介绍了IntelliJ中高效重构的10个快捷方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

在日常的开发工作中,我们经常需要重构,重构可以让我们写出的代码更上一层楼。所以,我会借助IntelliJ提供的一些功能,帮助我高效进行重构。这里是我推荐10个快捷方式,也是我每天都在使用的,非常有用。

1.将选择提取到局部变量

(Ctrl + Alt + V / Cmd + Opt + V)

IntelliJ 会建议一个名称,该名称有时非常切题,有时则不那么切题,但它处于编辑模式。如果您愿意,您还可以选择提取多次出现的选择或仅提取当前选择。

您可以选择的另一件事作为声明顶部的气泡弹出 — 是否使变量不可变(在本例中为 Kotlin var 或 val)以及可能的其他特定于语言的选项,如下面的 Kotlin 屏幕截图所示 — 是否指定类型。

2.将选择提取到字段/属性

(Ctrl + Alt + F / Cmd + Opt + F)

IntelliJ 提供的选项取决于语言,在下面的屏幕截图中 — 是为类定义还是为文件定义。选择后,您仍然可以使用与提取局部变量相同的选项。

3.提取选择到一个方法

(Ctrl + Alt + M / Cmd + Opt + M)

在窗口中,您将看到一旦您点击快捷组合,您就可以控制参数的可见性、顺序和名称,当然还有新方法的名称。

4.内联函数

(Ctrl + Alt + N / Cmd + Opt + N)

这与上面所有 3 个相反——将变量、字段或方法放回它们被使用的地方。同样,您有一些选项,例如内联单次或多次出现。

5.移动到下一个或上一个光标位置

(Ctl + Alt + ← 或 → / Cmd + Opt + ← 或 →)

这是快速浏览您编辑的最后几个位置的好方法。

6.代码生成

(Alt + Insert / Cmd + N)

同样,鉴于结果是 *上下文 *菜单,它取决于上下文,但通常你会用它来生成无聊的位,如equals(), hashCode(), getters 和 setters 或构造函数,实现接口方法等。

7.重命名变量、方法、类等

(Ctrl + Alt + R / Shift + F6)

这可能是所有人都非常熟悉的选项,它绝对是救星。如果您仅依靠复制粘贴来重命名可能已隐藏在代码中某处的变量,您可能最终会遇到错误。

有趣的是,您还可以仅重命名特定的事件或查找所有用法。重命名包时,您可以只重命名目录,也可以重命名包,因此请谨慎选择。

8.重构This

(Ctrl+Alt+Shift+T / Ctrl + T)

这是一个包罗万象的捷径。如果你不想一下子记住所有的东西,只要先记住这个,其余的就会及时出现。此组合向您显示所有可用的重构选择。所有以前的快捷方式都在这里,因此您可以将其用作起点。

此外,让我提请您注意一些不那么常用的重构:

  • Pull Members Up——将选定的成员(字段或方法)移动到父类
  • Push Members Down — 将选定的成员(字段或方法)移动到子类

在处理更复杂的层次结构时,这些非常棒,例如,如果您正在开发 API。

  • 提取超类
  • 提取接口

启动该过程后,您可以在弹出窗口中设置所有其他详细信息。

9. 检查代码

这不完全是一个捷径,但它是保持代码整洁的好方法。它位于 Code Menu -> Inspect Code… 下,您可以通过将分析范围限制为文件、模块、包或整个项目来选择分析范围。

然后它将为您提供按语言/框架和类型分组的问题和潜在问题列表。

对于一些更简单的警告,您可以通过右键单击并选择建议的解决方案来解决,对于其他警告,您将不得不这样做。

10. 转到声明或用法

  • 去声明一个成员(Ctrl + Alt + B / Cmd + Opt + B)
  • 转到某个成员的用法(Ctrl + Alt + B / Cmd + Opt + B) — 如果您多次使用该成员,您将看到上下文菜单弹出窗口,允许您选择确切的位置

以上就是IntelliJ中高效重构的10个快捷方式详解的详细内容,更多关于IntelliJ高效重构快捷方式的资料请关注脚本之家其它相关文章!

相关文章

  • Mybatis使用JSONObject接收数据库查询的方法

    Mybatis使用JSONObject接收数据库查询的方法

    这篇文章主要介绍了Mybatis使用JSONObject接收数据库查询,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Java实现AES加密和解密方式完整示例

    Java实现AES加密和解密方式完整示例

    这篇文章主要给大家介绍了关于Java实现AES加密和解密方式的相关资料,AES加密为最常见的对称加密算法,是一种区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用,需要的朋友可以参考下
    2023-10-10
  • MyBatis-Plus通过version机制实现乐观锁的思路

    MyBatis-Plus通过version机制实现乐观锁的思路

    version机制的核心思想就是,假设发生并发冲突的几率很低,只有当更新数据的时候采取检查是否有冲突,而判断是否有冲突的依据就是version的值是否被改变了,这篇文章主要介绍了MyBatis-Plus通过version机制实现乐观锁的思路,需要的朋友可以参考下
    2021-09-09
  • 解决swaggerUI页面没有显示Controller方法的坑

    解决swaggerUI页面没有显示Controller方法的坑

    这篇文章主要介绍了解决swaggerUI页面没有显示Controller方法的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • SpringBoot+vue+Axios实现Token令牌的详细过程

    SpringBoot+vue+Axios实现Token令牌的详细过程

    Token是在服务端产生的,前端可以使用用户名/密码向服务端请求认证(登录),服务端认证成功,服务端会返回 Token 给前端,Token可以使用自己的算法自定义,本文给大家介绍SpringBoot+vue+Axios实现Token令牌,感兴趣的朋友一起看看吧
    2023-10-10
  • 解读CompletableFuture异步多线程的使用方式

    解读CompletableFuture异步多线程的使用方式

    这篇文章主要介绍了CompletableFuture异步多线程的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • idea项目的左侧目录没了如何设置

    idea项目的左侧目录没了如何设置

    这篇文章主要介绍了idea项目的左侧目录没了如何设置的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • idea安装hsdis的方法

    idea安装hsdis的方法

    这篇文章主要介绍了idea安装hsdis,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Quarkus改造Pmml模型项目异常记录及解决处理

    Quarkus改造Pmml模型项目异常记录及解决处理

    这篇文章主要为大家介绍了Quarkus改造Pmml模型项目是遇到的异常记录以及解决方法,有需要的同学可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • MyBatis一对一级联更新问题小结

    MyBatis一对一级联更新问题小结

    日常工作中经常会涉及到一对一级联更新的问题,本文主要介绍了MyBatis一对一级联更新问题小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论