Luo Hao

IDEA小技巧

rehoni / 2022-07-23


1、快捷键和设置

IDEA相关资源

IntelliJ IDEA 简体中文专题教程

IDEA类和方法注释模板设置(非常详细)

1、启用注解处理器

File | Settings | Build, Execution, Deployment | Compiler | Annotation Processors,enable annotation processing

2、Properties中文乱码

image-20220705134935141

3、build project automatically

自动build project,如果和maven-profile 混用时,最好关闭

否则在clean之后,reimport时,会自动使用idea的build,导致maven-profile失效,不同profile的配置文件未能正确排除。

4、行注释设置,不从行首开始,在代码之前

5、IntelliJ IDEA取消自动删除空格:

6873a29f9b1bb5c10fa121aa0012df49b90.jpg

6、提高idea的运存

-Xms2048m 
-Xmx4096m
-XX:ReservedCodeCacheSize=2048m
-XX:+UseConcMarkSweepGC

-Xms 初始堆内存,调大该内存可以让启动速度更快,以省去分配内存的时间

-Xmx 最大堆内存,如果遇到 OutOfMemoryError 可以调大该数值,最大不要超过系统 1/4

-XX:+UseConcMarkSweepGC` 参数用来调整 GC 算法。使用该算法利用多个线程在后台进行 GC,以避免应用程序停止。当分配超过 4GB 的堆内存时,可以尝试使用 `-XX:+UseG1GC

-XX:ReservedCodeCacheSize=510m 设置编译器最大的 code cache,另外一个相关的 JVM 参数是 -XX:InitialCodeCacheSize JetBrains 推荐这里使用 240m

-XX:SoftRefLRUPolicyMSPerMB=[value] 参数用来控制每 M 空间中 soft reference 保证存活的毫秒数。默认的时间是 1000,JetBrains 推荐 50

-Dsun.io.useCanonCaches=[boolean] 该参数是否开启文件名及路径缓存,默认 java 会缓存文件名 30 秒,JetBrains 建议关闭

7、列模式

shift+alt+insert,开启关闭列模式;或者按住ALT,左键进行拖选。

0、其他

2、远程调试

Java远程调试

写服务端程序,在开发环境下打开远程调试还是非常有用的,还原现场非常容易,让请求方再发个请求即可。如果下来本地调试的话很多环境与管理服务的地址配置什么的都可能不一样,增加了可变因素。

在需要启动服务调试的jvm启动参数中加入(注意:参数要排在启动类名的前面)

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1234

dt_socket:使用的通信方式

server:是主动连接调试器还是作为服务器等待调试器连接

suspend:是否在启动JVM时就暂停,并等待调试器连接

address:地址和端口,地址可以省略,两者用冒号分隔

根据文档和stackoverflow上的讨论,JVM 1.5以后的版本应该使用类似下面的命令(老的还是可以使用的):

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1234

就是一个agentlib就行了,后面的参数都没有变,如果用intellij的远程调试配置的话,它会默认给出这两种参数,让你放到服务器的JVM参数里。

image-20210624193258735

需要远程调试的时候,打包好==jar包==(推荐jar包,tomcat部署需要在tomcat中配置,比较麻烦),执行命令即可

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=18833 myApp.jar

参考Java 远程调试 - 卖程序的小歪 - 博客园 (cnblogs.com)

3、ignored Pom 文件问题

具体描述

创建了一个之前删除了的同名的module名称。但是,却弹出被忽略(Ignored)的Ignored pom.xml文件。

解决方案和原理

由于相同名称的module在之前被创建过,因此在IDEA中留有痕迹。重新创建一个新的同名module会让IDEA误以为是之前被删除掉的module,所以才自动将这个pom.xml文件忽略了

1、进入File | Settings | Build, Execution, Deployment | Build Tools | Maven | Ignored Files

2、找到lgnored file把右边已选中的选项取消勾选,然后点击 ok

3、reimport maven project

4、Java开发插件

  1. Alibaba Cloud Toolkit

  2. Alibaba Java Coding Guidelines

  3. BetterIntelliJ

  4. Chinese language pack

  5. CodeGlance

  6. Codota

  7. Free Mybatis plugin

  8. File Watcher

  9. Grep Console

  10. Spring Boot Assistant

  11. Gruvbox Theme

  12. GsonFormatPlus

    json转实体类

    https://github.com/mars-men/GsonFormatPlus

  13. Hiberbee Theme

  14. Key Promoter X

  15. Maven Helper

  16. Mybatis Log

  17. MybatisX

  18. Nyan Progress Bar

  19. One dark Theme

  20. Rainbow Brackets

  21. RESTful Toolkit

  22. Statistic

  23. stopCoding

  24. String manipulation

  25. Translation

  26. WakaTime