idea 最佳初始化设置

时间:2021-02-19 01:15:29

设置界面

键盘同时摁住 Ctrl+Alt+S,快捷键进入 Setting 界面,如下图所示:

idea 最佳初始化设置

自动导包

在 Setting 搜索框中检索 Auto Import ,勾选以下两选项,如下图所示:

  1. Add unambiguous imports on fly
  2. Optimize imports on the fly

idea 最佳初始化设置

序列化提示

1、类实现 Serializable 接口 【implements Serializable】
2、搜索【serializable class without ‘serialVersionUID’】 也可以找到这个选项, 打上 √ 选项
3、然后鼠标选中类名,按下快捷键【Alt+Entry】

自定义模板

编码模板

在 Setting 搜索框中检索 Editor,之后点击 Live Templates,如下图所示:

idea 最佳初始化设置

其中 idea 自带了很多模板组,如下图所示:

idea 最佳初始化设置

官方自带

官方模板示例 fori,如下图所示:

idea 最佳初始化设置

自定义

创建一个打印日志的模板,便于日常开发快速编写,如下图所示:

idea 最佳初始化设置

接着,如下图所示:

idea 最佳初始化设置

接着,如下图所示:

idea 最佳初始化设置

使用提示,如下图所示:

idea 最佳初始化设置

类注释模板

在 Setting 搜索框中检索 Editor,之后点击 File and Code Templates,如下图所示:

idea 最佳初始化设置

在 File Header 中加入下边内容,如下图所示:

/**
 * 
 * @description: ${description}
 * @author: ${USER}
 * @create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
*/

idea 最佳初始化设置

idea 插件

插件安装,索索【Plugins】 推荐 https://mp.weixin.qq.com/s/0qxIQr2-1LQDzqpC7mDAlQ

  1. 热部署,快捷键是control+F9/command+F9

    JRebel for IntelliJ
    
  2. 一键根据json文本生成java类,快捷键:【Alt+s】

    1、GsonFormat
    2、RoboPOJOGenerator
    
  3. 一键调用一个对象的所有set方法并且赋予默认值

    GenerateAllSetter
    
  4. 自动get/set方法,pom中引入对应jar包

    Lombok
    
  5. mapper的xml文件中来回跳转

    Free MyBatis plugin
    
  6. sql日志查看

    Mybatis Log Plugin
    
  7. 在编辑区的右侧显示的代码地图

    CodeGlance
    
  8. 彩虹颜色的括号 看着很舒服

    Rainbow Brackets
    
  9. 这是一款让你在编码的时候,整个屏幕都为之颤抖的插件,尽量不要,消耗性能

    active-power-mode
    
  10. 设置idea背景图片的插件,固体的图片/随机变化背景图片,以及设置图片的透明度等

    Nyan progress bar
    
  11. 切换/自定义颜色。默认很漂亮了,如需修改配色:Tools->Material Theme

    Material Theme UI
    
  12. 接口自测工具

    RestfulToolkit
    
  13. 快捷键展示

    Presentation Assistant 
    
  14. 阿里巴巴 Java 代码规范

    Alibaba Java Code Guidelines
    
  15. 翻译插件

    Translation
    
  16. 调用链路自动生成时序图

    SequenceDiagram 
    
  17. 括号开始结尾 高亮显示

    HighlightBracketPair 
    
  18. 代码自动格式化

    这个插件的优点在于不需要手动快捷键去格式化代码

    google-java-format
    
  19. 控制台日志 高亮

    Grep Console
    
  20. IDEA中在线刷题

    Leetcode Editor
    
  21. 项目信息统计

    Statistic
    
  22. 多种命名格式之间切换

    CamelCase
    
  23. 查看字节码

    打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项。

    选择上述菜单项后 IDEA 中会弹出 jclasslib 工具窗口

    jclasslib bytecode viewer
    
  24. 自动补全参数

    调用一个函数,使用 Alt+Enter 组合键,调出 “Auto fill call parameters” 自动使用该函数定义的参数名填充。

    Auto filling Java call arguments
    
  25. 自动填充参数的值

    GenerateO2O
    
  26. 方便maven项目解决jar冲突

    Maven Helper
    
  27. 检查代码中的隐患

    FindBugs
    
  28. 根据 JVM 异常堆栈画 UML时序图和通信图

    打开方式:Analyze > Open Stack trace to UML plugin + Generate UML diagrams from stacktrace from debug

    Stack trace to UML
    
  29. Stream 将操作步骤可视化

    Java Stream Debugger
    
  30. 对字符串的处理

    String Manipulation
    
  31. 帮助我们提前找到潜在的问题bug

    IDEA QAPlug
    

热部署

JRebel 插件【推荐】

使用方法…

IDEA 自带 HowSwap 功能

设置 Spring Boot 启动类,开启 HotSwap 功能。如下图所示:

idea 最佳初始化设置

Debug 运行该启动类,等待项目启动完成。

每次修改 Java 代码后,点击左下角的「热加载」按钮,即可实现代码热加载。如下图所示:

idea 最佳初始化设置

存在问题

IDEA 自带 HowSwap 功能,支持比较有限,很多修改都不支持。例如说:

  • 只能增加方法或字段但不可以减少方法或字段
  • 只能增加可见性不能减少
  • 只能维持已有方法的签名而不能修改等等。
  • 不支持 xml 热加载等等。

也就是说只支持 java 方法内的代码修改热加载。相对完美的方案,建议使用 JRebel 插件。

spring-boot-devtools

spring-boot-devtools (opens new window)是 Spring Boot 提供的开发者工具,它会监控当前应用所在的 classpath 下的文件发生变化,进行自动重启

devtools 存在重启速度较慢的问题,所以不推荐!

  1. 引入jar:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>provided</scope>
                <!-- optional=true, 依赖不会传递, 该项目依赖devtools;
                    之后依赖boot项目的项目如果想要使用devtools, 需要重新引入 -->
                <optional>true</optional>
            </dependency>
    
  2. 在yml文件上配如下

    spring: 
      devtools:
        restart:
          enabled: true  #设置开启热部署
    
  3. 设置idea运行前自动编译

    ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running
    
  4. 编译插件:设置 fork 为 true

            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration> 
                        <fork>true</fork>
                    </configuration>
                </plugin>
            </plugins>