Skip to content
On this page

代码格式化

在对代码进行mvn install的时候如果你的代码样式不符合要求将会得到一个异常,这时候你可以使用mvn spotless:apply命令格式化代码让你的代码符合格式化要求。

当然我们使用Idea编码的时候可以安装插件,在保存代码的时候对代码自动的格式化它

  • 安装palantir-java-format插件
  • 打开Idea全局设置,找到Other Settings -> palantir-java-format,然后启用palantir-java-format插件

经过上一步Idea格式化(Ctrl + Alt + L)将符合规范要求

如果你在保存的时候格式化代码,那么可以使用Save Actions插件

Save Actions 配置

Idea 插件推荐

不推荐安装 AI 代码提示相关插件,因为它可能需要上传代码到云端。尽管有些不需要,但还是不推荐使用,这不是一个好的习惯。

  1. Lombok
  2. GsonFormat一键根据 json 文本生成 java 类
  3. Maven Helper一键查看 maven 依赖,查看冲突的依赖,一键进行 exclude 依赖
  4. GenerateAllSetter一键调用一个对象的所有 set 方法并且赋予默认值,在对象字段多的时候非常方便 强制
  5. Translation翻译
  6. CodeGlance Pro代码右侧小地图
  7. Key-Promoter-X快捷键提示,熟悉之后可以关闭
  8. MybatisXMapper 和 xml 快速跳转插件
  9. RestfulTool通过接口地址快速定位接口所在的方法位置
  10. Save Actions在保存的时候做一些事情,比如优化导包等
  11. google-java-format Google 代码风格格式化

配置相关

忽略大小写开关

image-20220529232430751

智能导包开关

image-20220601153258704

设置项目字符集

image-20220529233148232

取消单行显示 tabs 的操作

image-20220529233306215

格式化配置

image-20220529233518012

java
// 没有包裹格式化后的代码
public enum AbnormalStatus implements BaseTagEnum<Integer> {
    UNPROCESSED(5, "未处理", "danger"), PROCESSED(10, "已处理", "success");

    AbnormalStatus(Integer value, String desc, String tagType) {
        this.value = value;
        this.desc = desc;
        this.tagType = tagType;
    }
}

// 包裹后格式化后代码
public enum AbnormalStatus implements BaseTagEnum<Integer> {
    // @formatter:off
    UNPROCESSED(5, "未处理", "danger"),
    PROCESSED(10, "已处理", "success");
    // @formatter:on
    AbnormalStatus(Integer value, String desc, String tagType) {
        this.value = value;
        this.desc = desc;
        this.tagType = tagType;
    }
}

选项卡多行显示

image-20220530181804785

模板配置

位置:Settings ---> Editor ---> File and Code Templates

  • Class 、Interface 、Enum 、Record 、AnnotationType 模板。注意下面的 public class 改成对应的文件类型

    tex
    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    
    /**
     *
     * @author laizuan
     * @date ${DATE} ${TIME}
     * @version 1.0
     */
    public class ${NAME} {
    }

粤ICP备2022017444号