关闭自动更新

在这里插入图片描述

取消启动idea时直接打开上次的项目(可选)

在这里插入图片描述

创建文件设置多行注释头

在这里插入图片描述

Tomcat JVM参数调优

-Dfile.encoding=UTF-8
-Xms512m
-Xmx1536m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC

idea JVM参数调优

-Dfile.encoding=UTF-8设置默认编码为UTF-8
Xms:JVM初始内存大小
Xmx:JVM最大内存大小
XX:ReservedCodeCacheSize:保留的代码缓存大小
-XX:+UseG1GC:使用G1垃圾回收机制
一般情况下:生产环境Xms和Xmx建议设置成一样的这样就不会有内存波动导致java程序性能下降。开发环境建议配置成不同的,因为我们的程序波动不频繁。ReservedCodeCacheSize指的就是代码编译时所使用的缓存,如果缓存满了,编译代码的速度会大大降低。

电脑8G内存推荐配置:

-Dfile.encoding=UTF-8
-Xms512m
-Xmx1024m
-XX:ReservedCodeCacheSize=256m

电脑16/32G内存内存以上推荐配置:
32G如果Xmx也可以设置成2048m,但是经过测试1536m足够了,不够的话再加,因为有些老项目又占内存又臃肿!

-Dfile.encoding=UTF-8
-Xms512m
-Xmx1536m
-XX:ReservedCodeCacheSize=512m

在这里插入图片描述
在这里插入图片描述

Java编译增加命令行参数

如:jdk8+增加了命令行参数-parameters,这个参数可以保证编译前后的方法的参数名是一致的。防止使用反射获取方法参数名错误。
如果编译的时候报错,可以去掉其中一个idea/maven/gradle设置的参数
在这里插入图片描述

maven >= 3.6.2 pom.xml使用命令行参数-parameters

			<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.13.0</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                    <encoding>UTF-8</encoding>
                    <parameters>true</parameters>
                </configuration>
            </plugin>

maven < 3.6.2 pom.xml使用命令行参数-parameters

			<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <compilerArgs>
                        <arg>-parameters</arg>
                    </compilerArgs>
                </configuration>
            </plugin>

Gradle build.gradle 使用命令行参数-parameters

	tasks.withType(JavaCompile).configureEach {
        options.encoding = "UTF-8"
        options.compilerArgs.add("--enable-preview")//启用 jdk21 预览功能
        options.compilerArgs.add("-parameters")//编译后变量名称和源代码名称一致,IDEA "Java Compile" "Additional command line parameters"添加"-parameters"
    }

	tasks.withType(GroovyCompile).configureEach {
        groovyOptions.parameters = true
    }

修改全局编码、项目编码、属性文件默认编码为UTF-8(非常重要

在这里插入图片描述

分行显示文件

在这里插入图片描述

settings.xml配置

随便找个maven项目的pom.xml右键
在这里插入图片描述

有打开就打开,没有打开就创建

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <localRepository>C:/Users/X/.m2/repository</localRepository>

    <servers>
		<!-- 对应repository id为公司私有发布仓库的id -->
        <server>
            <id>nexus</id>
            <username>公司私有发布仓库用户名</username>
            <password>公司私有发布仓库密码</password>
        </server>
		<!-- 对应repository id为公司私有快照仓库的id -->
        <server>
            <id>nexus-snapshots</id>
            <username>公司私有快照仓库用户名</username>
            <password>公司私有快照仓库密码</password>
        </server>
    </servers>

    <mirrors>
    	<!-- 
    		下面这2个仓库等效于
    		mirrorOf = *
    		url = https://maven.aliyun.com/repository/public
    		但是不推荐用 mirrorOf = * 某些情况下可能会有问题,推荐单独配置!
    	 -->
        <mirror>
            <id>aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyunCentral</name>
            <url>https://maven.aliyun.com/repository/central</url>
        </mirror>
        <mirror>
            <id>aliyun</id>
            <mirrorOf>jcenter</mirrorOf>
            <name>aliyunJcentral</name>
            <url>https://maven.aliyun.com/repository/jcenter</url>
        </mirror>
    </mirrors>

    <profiles>
		<!-- nexus对应activeProfile的id -->
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus</id>
                    <url>公司私有发布仓库地址</url>
                    <!-- 可以理解为生产环境稳定的发布版本 -->
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <!-- 可以理解为开发环境不稳定的快照版本 -->
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>nexus-snapshots</id>
                    <url>公司私有快照仓库地址</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>nexus</id>
                    <url>公司私有发布仓库地址</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>nexus-snapshots</id>
                    <url>公司私有快照仓库地址</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

	<!-- 优先从配置文件配置的仓库下载依赖,找不到再从阿里云镜像库下载依赖 -->
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>

</settings>

ctrl+s保存

默认配置文件地址

C:\Users\电脑的用户名.m2
在这里插入图片描述
repository是下载的依赖,把这里面的依赖全部删除,然后idea重新下载maven依赖,发现会比不配置镜像快很多

优化import导包

在这里插入图片描述

调整编辑器字体大小

在这里插入图片描述

关闭不需要的代码检查

在这里插入图片描述

去除英语单词拼写检查(可选,强迫症必选)

搜索:Typo,找到Proofreading下面的Typo去掉勾选
在这里插入图片描述

去除重复代码检查(可选,强迫症必选)

搜索:Duplicated code fragment,找到General下面的Duplicated code fragment去掉勾选
在这里插入图片描述

去除方法提取警告

搜索:Method can be extracted,去掉Java下面 Code maturity下面的Method can be extracted勾选
在这里插入图片描述

去除未使用的变量警告

搜索:Unused declaration
在这里插入图片描述

插件

配置不高的电脑,尽量少安装和使用插件,因为会占用更多的内存

  1. Chinese汉化语言包(选装)
  2. EasyCode(强烈推荐,自定义代码模板根据表结构一键生成CRUD模板代码)
  3. GenerateAllSetter一键生成Entity所有的set方法和get方法(推荐,方便设置实体类的值,不用一个一个手敲)
  4. GsonFormatPlus快捷键 Alt + S 格式化JSON、JSON转POJO(强烈推荐)
  5. JPA Buddy降低使用JPA开发障碍、提高开发人员的生产力、确保代码遵循最佳实践(ORM框架是JPA,强烈推荐)
  6. JRebel and XRebel热加载插件,修改绝大部分代码都不用重启SpringBoot或者Tomcat直接可以进行代码调试(强烈推荐)
  7. JRebel mybatisPlus extension 热重载插件(ORM框架是MyBatis-Plus,强烈推荐)
  8. JSON Parser格式化JSON(强烈推荐)
  9. MapStruct support支持MapStruct快速查找变量名(使用了MapStruct jar包的,强烈推荐)
  10. Maven Helper分析和排除冲突Maven依赖关系(使用Maven作为构建工具的,强烈推荐)
  11. MyBatisX快速定位xml和mapper位置生成模板代码等(ORM框架是MyBatis,强烈推荐)
  12. MyBatis Log Free把MyBatis占位符【?】替换成具体的值(ORM框架是MyBatis,强烈推荐)
  13. POJO to JSON把POJO转为JSON(强烈推荐)
  14. Statistic统计代码(选装)
  15. String Manipulation字符串切换,如:字符串变量名由下划线切换为驼峰等(强烈推荐)
  16. Translation翻译插件(选装)

GenerateAllSetter插件生成无默认值的set方法

在这里插入图片描述

GsonOrXmlFormatPlus用JSON生成POJO

在这里插入图片描述

模块设置是否默认说明
Convert Methodobject/arrayFromDataGson自定义生成对象
Generatevirgo modevirgo模式,生成代码之前可自定义调整字段
Generategenerate comments是否生成注释
Generatesplit generate是否单独生成子类
Beanreuse beanTODO
Fieldname suffix生成类名后缀
Fieldfield(private/public)字段私有/公开
Fieldname prefix生成字段名前缀
Fielduse serialized name使用序列化名,类字段为驼峰与添加json注解声明
Fielduse wrapper class使用包装类,int 转 Integer
Fielduse lombok使用Lombok替代Getter和Setter
Fielduse number key as map使用数字类型key替换为Map结构,待完善
Convert libraryjackson/fastjsonjackson/fastjson等转换注解

生成内容如下

DetailsDTO.java

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * DetailsDTO
 */
@NoArgsConstructor
@Data
public class DetailsDTO {
    /**
     * address
     */
    private String address;
}

IOTests.java

import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class IOTests {

    /**
     * name
     */
    private String name;
    /**
     * age
     */
    private Integer age;
    /**
     * details
     */
    private DetailsDTO details;
}

JSON Parser插件把它放到底部左下角

在这里插入图片描述
个人认为底部左下角更方便操作
在这里插入图片描述

Maven Helper插件检查是否有依赖冲突

去除鼠标右键功能
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

String Manipulation插件把下划线转驼峰

在这里插入图片描述
设置自定义指令和快捷键
在这里插入图片描述
设置Alt + M + Number 快捷键
在这里插入图片描述
调整自定义指令快捷键位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git使用非模式提交界面

在这里插入图片描述

加快编译源代码速度

设置线程计数,使用多线程构建
始终更新快照(Always update snapshots)建议勾选,防止开发过程当中包不一致导致的报错,误以为是bug;
use settings from .mvn建议去掉勾选

在这里插入图片描述

要配置了下面这个-Dmaven.compile.fork=true参数,上面的线程计数配置才会生效。
Maven VM选项参数
Xms2048m(初始堆大小,Xms 和 Xmx 通常设置为可用内存的 50% - 75%。)
Xmx2048m(最大堆大小,Xms 和 Xmx 通常设置为可用内存的 50% - 75%。)
XX:ReservedCodeCacheSize=512m(调整编译内存大小提升编译速度)
Dmaven.test.skip=true(完全跳过测试阶段【如果你只想跳过执行单元测试,但仍希望编译测试代码,可以使用 -DskipTests】)
Dmaven.site.skip=true(跳过生成 site 文档)
Dmaven.javadoc.skip=true(跳过生成 javadoc 文档)
Dmaven.compile.fork=true(多线程编译【配合-T1C参数使用,即:上面配置Thread count的值】)

-Xms2048m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-Dmaven.test.skip=true
-Dmaven.site.skip=true
-Dmaven.javadoc.skip=true
-Dmaven.compile.fork=true

在这里插入图片描述

maven控制台只输出error级别的日志加快打包速度(适合强迫症患者)

如果不是旧项目不建议这么设置,因为旧项目才会有这种使用过期依赖或者写了未校验的代码
在这里插入图片描述
加上-q参数,这样控制台就只会输出error级别的日志,并且打包速度大大加快!

package -q -f pom.xml

自动接受证书(如:配置了GitHub代理,每次启动idea都会要求你接受代理的证书,配置了这个以后就不会弹出来了。)

在这里插入图片描述

解决idea maven 打包时无权限问题或偶尔几个文件打包失败的问题

问题原因:没有配置maven环境变量或者使用了自动构建

配置maven环境变量

在这里插入图片描述
环境变量注意大小写!!!建议为大写下划线命名分格

MAVEN_HOME

配置Path
在这里插入图片描述
Path追加内容

%MAVEN_HOME%\bin

取消自动构建

自动构建这玩意开发的时候很爽, 但是打包的时候容易出现问题。比如:先执行maven clean,然后执行maven package,这时候偶尔会出现打包丢失文件的情况。为什么会出现这种情况?就是因为你clean掉了编译的文件,这时候你没有运行项目,idea就会自动执行构建,而这时候你又执行package打包,就会导致构建和打包冲突!
在这里插入图片描述

设置JDK源码而不是使用IDEA反编译获取代码。

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐