From a9cc94d5dc117c5dc47cfbce43c870bed4f9056c Mon Sep 17 00:00:00 2001 From: ghostflyby Date: Tue, 15 Sep 2026 21:48:22 +0800 Subject: [PATCH 1/2] Add Spotless IntelliJ plugin to READMEs --- README.md | 2 +- plugin-gradle/README.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 921c50d2c5..0aab38b6c9 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Spotless can format <antlr | c | c# | c++ | css | flow | graphql | groovy | h You probably want one of the links below: -## [❇️ Spotless for Gradle](plugin-gradle) (with integrations for [VS Code](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle) and [IntelliJ](https://plugins.jetbrains.com/plugin/18321-spotless-gradle)) +## [❇️ Spotless for Gradle](plugin-gradle) (with integrations for [VS Code](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle) and IntelliJ with [Spotless](https://plugins.jetbrains.com/plugin/29287-spotless) or [Spotless Gradle](https://plugins.jetbrains.com/plugin/18321-spotless-gradle)) ```console user@machine repo % ./gradlew build diff --git a/plugin-gradle/README.md b/plugin-gradle/README.md index db4db7c376..042c8f53c3 100644 --- a/plugin-gradle/README.md +++ b/plugin-gradle/README.md @@ -10,6 +10,7 @@ output = [ '', link(shield('VS Code plugin', 'IDE', 'VS Code', 'blueviolet'), 'https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle'), link(shield('IntelliJ plugin', 'IDE', 'IntelliJ', 'blueviolet'), 'https://plugins.jetbrains.com/plugin/18321-spotless-gradle'), + link(shield('Spotless IntelliJ plugin', 'IDE', 'Spotless (IntelliJ)', 'blueviolet'), 'https://plugins.jetbrains.com/plugin/29287-spotless'), link(shield('Add other IDE', 'IDE', 'add yours', 'blueviolet'), 'IDE_HOOK.md') ].join('\n'); --> @@ -20,6 +21,7 @@ output = [ [![VS Code plugin](https://img.shields.io/badge/IDE-VS_Code-blueviolet.svg)](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle) [![IntelliJ plugin](https://img.shields.io/badge/IDE-IntelliJ-blueviolet.svg)](https://plugins.jetbrains.com/plugin/18321-spotless-gradle) +[![Spotless IntelliJ plugin](https://img.shields.io/badge/IDE-Spotless_(IntelliJ)-blueviolet.svg)](https://plugins.jetbrains.com/plugin/29287-spotless) [![Add other IDE](https://img.shields.io/badge/IDE-add_yours-blueviolet.svg)](IDE_HOOK.md) From d2e7ec8028006ba525d8d59ac67341f4e4da0d02 Mon Sep 17 00:00:00 2001 From: ghostflyby Date: Wed, 16 Sep 2026 13:52:18 +0800 Subject: [PATCH 2/2] Rename to Spotless Daemon and add plugin comparison --- README.md | 2 +- plugin-gradle/README.md | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0aab38b6c9..53fc88856f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Spotless can format <antlr | c | c# | c++ | css | flow | graphql | groovy | h You probably want one of the links below: -## [❇️ Spotless for Gradle](plugin-gradle) (with integrations for [VS Code](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle) and IntelliJ with [Spotless](https://plugins.jetbrains.com/plugin/29287-spotless) or [Spotless Gradle](https://plugins.jetbrains.com/plugin/18321-spotless-gradle)) +## [❇️ Spotless for Gradle](plugin-gradle) (with integrations for [VS Code](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle) and IntelliJ with [Spotless Daemon](https://plugins.jetbrains.com/plugin/29287-spotless-daemon) or [Spotless Gradle](https://plugins.jetbrains.com/plugin/18321-spotless-gradle)) ```console user@machine repo % ./gradlew build diff --git a/plugin-gradle/README.md b/plugin-gradle/README.md index 042c8f53c3..5a0539b7b1 100644 --- a/plugin-gradle/README.md +++ b/plugin-gradle/README.md @@ -10,7 +10,7 @@ output = [ '', link(shield('VS Code plugin', 'IDE', 'VS Code', 'blueviolet'), 'https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle'), link(shield('IntelliJ plugin', 'IDE', 'IntelliJ', 'blueviolet'), 'https://plugins.jetbrains.com/plugin/18321-spotless-gradle'), - link(shield('Spotless IntelliJ plugin', 'IDE', 'Spotless (IntelliJ)', 'blueviolet'), 'https://plugins.jetbrains.com/plugin/29287-spotless'), + link(shield('Spotless Daemon plugin', 'IDE', 'Spotless Daemon', 'blueviolet'), 'https://plugins.jetbrains.com/plugin/29287-spotless-daemon'), link(shield('Add other IDE', 'IDE', 'add yours', 'blueviolet'), 'IDE_HOOK.md') ].join('\n'); --> @@ -21,10 +21,31 @@ output = [ [![VS Code plugin](https://img.shields.io/badge/IDE-VS_Code-blueviolet.svg)](https://marketplace.visualstudio.com/items?itemName=richardwillis.vscode-spotless-gradle) [![IntelliJ plugin](https://img.shields.io/badge/IDE-IntelliJ-blueviolet.svg)](https://plugins.jetbrains.com/plugin/18321-spotless-gradle) -[![Spotless IntelliJ plugin](https://img.shields.io/badge/IDE-Spotless_(IntelliJ)-blueviolet.svg)](https://plugins.jetbrains.com/plugin/29287-spotless) +[![Spotless Daemon plugin](https://img.shields.io/badge/IDE-Spotless_Daemon-blueviolet.svg)](https://plugins.jetbrains.com/plugin/29287-spotless-daemon) [![Add other IDE](https://img.shields.io/badge/IDE-add_yours-blueviolet.svg)](IDE_HOOK.md) +Two IntelliJ plugins are available, with different trade-offs: + +**[Spotless Daemon](https://plugins.jetbrains.com/plugin/29287-spotless-daemon)** + +| | | +|:---|:---------------------------------------------------------------------------------------------------------| +| ✅ | Fast response — the Gradle daemon stays resident, so each format skips Gradle's startup and task execution | +| ✅ | Replaces the IDE's built-in formatter, so the formatting UX is identical to native reformat | +| ✅ | Includes targeted optimizations, e.g. import optimization is preprocessed on the IDE side | +| ❌ | The resident daemon holds some resources while running | +| ❌ | Implementation depends on some internal Gradle plugin structures rather than public integration APIs | + +**[Spotless Gradle](https://plugins.jetbrains.com/plugin/18321-spotless-gradle)** + +| | | +|:---|:---------------------------------------------------------------------------------------------------------| +| ✅ | Stable and battle-tested over years of use | +| ✅ | Works through the standard `spotlessApply` Gradle task integration | +| ❌ | Slow cold start — every invocation pays Gradle's startup cost | +| ❌ | Runs as a separate action, disconnected from the IDE's built-in format UX | +