IntelliJ IDEA 常用配置
一、常用 Plugins
- Translation:翻译插件
- arthas idea:arthas增强工具
- CamelCase:字符串大小写转换
- CodeGeex:AI代码生成工具
- Maven Helper:依赖整理工具
- LeetCode Editor:LeetCode工具
- GenerateAllSetter:自动生成对象setter调用
- GenerateSerialVersionUID:自动生成SerialVersionUID
- EasyCode-MybatisCodeHelper:代码生成插件,支持自定义任意模板
- Extra ToolWindow Colorful lcons:图标插件
- Rainbow Brackets:括号主题插件
- The Doki Theme:主题插件
- Nginx Configuration:Nginx配置文件高亮插件
- Regex Rename Files:批量正则重命名文件
- Java Mybatis SQL Scanner:扫描 Mybatis SQL XML 文件,分析出不规范或者潜在风险的SQL
- Alibaba Java Coding Guidelines:阿里代码规范插件
- Smart Input:自动切换输入法
二、初始化配置
1.Idea初始化配置
设置运行内存
-XX:ReservedCodeCacheSize=1024m
-Xmx4096m
-Xms1024m
设置Idea编译堆大小
Build,Execution,Deployment - Compiler - heap size 2048
设置文件编码
Editor - File Encodings
- Global Encoding:UTF-8
- Project Encoding:UTF-8
- Properties Files:UTF-8
Editor - General - Console
- Default Encoding:UTF-8
Tools - SSH Terminal
- Default Encoding:UTF-8
设置
2.Maven配置
Maven - Runner - VM Options
-DarchetypeCatalog=internal
Maven - Runner&Importing - JDK 版本配置
设置Maven编译的大小:Maven - Importin - VM options
-Xmx16g 或者 -Xmx32g
设置maven多线程编译
Maven3 支持多线程编译,可以加快项目构建速度
Thread Count:1C ,1C的含义是1倍CPU核心数量,假设我的设备是4核处理器 就会开启四个线程编译
三、常用快捷键(Mac)
- 列选择:
Shift+Command+8
- 同单词列选择:
Control+Command+G
- 格式化代码:
Option+Comman+L
- 优化导包:
Control+Option+O
- 项目之间的跳转:
Command+Alt+[ 或 Command+Alt+]
- 文件之间的跳转:
Command+[ 或 Command+]
- 重写父类方法:
Control + O
- 实现接口方法:
Control + I
- Generate生成代码:
Command+N
- 自定义代码块提示:
Command+J
- Surround With包裹生成代码:
Option+Command+T
- 精确查找:
Shift+Command+F
- 移动代码行:
Option+Shift+⬆️
或Option+Shift+⬇️
- 移动代码块:
Command+Shift+⬆️
或Command+Shift+⬇️
四、IDEA 正则表达式查找和替换文本
- 单击正则表达式图标以启用正则表达式
- 搜索诸如 之类的元字符时
.[{()\^$|?*+
,您需要使用反斜杠对其进行转义\
- 要替换的字段
(.*?)_(.*?)
,替换站位符号$1_$2
- 要保留的字符串使用”
()
“包含,站位符号$1
- 切换字符大小写
\l将字符更改为小写,直到字符串中的下一个字符。 例如,Bar变成bar。 \u将字符更改为大写,直到字符串中的下一个字符。 例如,bar变成Bar。 \L将字符更改为小写,直到文字字符串的结尾\E。 例如,BAR变成bar。 \U将字符更改为大写,直到文字字符串的结尾\E。 例如,bar变成BAR。 条件:(\w+),结果:\U$1 将全部匹配单词转为大写
五、Idea VM Options 常用参数配置
-
-Dserver.port=8080
,设置服务端口为8080 -
-Xms1024m
,设置JVM初始堆内存为1024m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -
-Xmx1024m
,设置JVM最大堆内存为1024m。 -
-Xss512k
,设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。在相同物理内存下,减小这个值能生成更多的线程,当然操作系统对一个进程内的线程数还是有限制的,不能无限生成。线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时出现溢出的可能性更大,如果该值设置过大,就有影响到创建栈的数量,如果是多线程的应用,就会出现内存溢出的错误。 -
-Xmn341m
,设置年轻代大小为341m。在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8。 -
-XX:NewSize=341m
,设置年轻代初始值为341M。 -
-XX:MaxNewSize=341m
,设置年轻代最大值为341M。 -
-XX:PermSize=512m
,设置持久代初始值为512M,但在java8及之后就不支持了,改用-XX:MetaspaceSize=512m。 -
-XX:MaxPermSize=512m
,设置持久代最大值为512M,同样在java8及之后就不支持了,改用-XX:MaxMetaspaceSize=512m。 -
-XX:NewRatio=2
,设置年轻代(包括1个Eden和2个Survivor区)与年老代的比值。表示年轻代比年老代为1:2。 -
-XX:SurvivorRatio=8
,设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与1个Eden区的比值为1:1:8,即1个Survivor区占整个年轻代大小的1/10。 -
-XX:MaxTenuringThreshold=15
,具体参看JVM系列之内存分配和回收策略中对象的衰老过程。 -
-XX:ReservedCodeCacheSize=240m
,设置代码缓存的大小,用来存储已编译方法生成的本地代码。 -
-client
,设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。 -
-server
,设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的JDK环境下默认启用该模式。 -
-verbose:gc
,开启gc日志 -
-XX:+PrintGCDetails
,打印gc详情 -
-XX:+PrintGCTimeStamps
,打印GC时间戳 -
-XX:+PrintGCApplicationStoppedTime
,打印GC停顿时间,可以查看到GC的STW停顿时间 -
-Xloggc:D:/temp/gclog/idea.gc.log
,将日志输出到文件 -
-XX:+PrintHeapAtGC
,每次一次GC后,都打印堆信息