java - 配置 IntelliJ 以使用与 Spotless 相同的 Java 格式化程序

标签 java intellij-idea spotless

我使用 Spotless Gradle plugin以确保我的应用程序中 Java 代码的格式一致。 build.gradle中的相关条目是

plugins {
  id "com.diffplug.gradle.spotless" version "3.27.0"
}

spotless {
  java {
    // The available versions of the Eclipse JDT formatter are defined here
    // https://github.com/diffplug/spotless/tree/master/lib-extra/src/main/resources/com/diffplug/spotless/extra/eclipse_jdt_formatter
    eclipse('4.13.0')
    indentWithSpaces()
    removeUnusedImports()
  }
}

有什么方法可以配置 IntelliJ 以使用相同的格式设置吗?

最佳答案

一种不是 100% 令人满意但有效的方法:
1. 配置 Spotless 任务

spotless {
    format 'misc', {
        target '*.properties','*.gradle', '*.md', '.gitignore' // etc.
        // code style rules
    }
    java {
        // code style rules
    }
}
2.添加任务激活到*Apply任务
enter image description here
3.为Build Project分配方便的按键
Settings > Keymap 下执行此操作.
请记住,Build Project正在使用 IntelliJ 的内部构建器。它是增量的(高性能),但在自定义/第三方 gradle 任务的情况下,构建结果可能会偏离 $ gradle build结果。
对于使用 DevTools 的 Spring 应用程序,构建将导致自动提供更改/更新。

使用 IDE Hook 为 IntelliJ 实现专用的 Spotless 格式化程序插件应该是相当简单的:
https://github.com/diffplug/spotless/blob/master/plugin-gradle/IDE_HOOK.md
到目前为止,我无法找到一个。

关于java - 配置 IntelliJ 以使用与 Spotless 相同的 Java 格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59754621/

相关文章:

java - 计算法线

tomcat - 在 IntelliJ 嵌入式 tomcat 部署中重新加载 spring 配置

java - Junit:如何让每个@Test方法完全隔离?

grails - 如何在 IntelliJ IDEA 中进行 Grails 3 集成测试

java - Gradle:一尘不染的任务在需要时不触发

java - 使用包 exp4j 总是返回 UnknownFunctionExpression 和 UnparsableExpressionException

java - 在评估阶段使用 Gradle 插件配置属性

java - 最短路径和 Dijkstra 算法