What problem does it solve?
UI freezes in IntelliJ-based IDEs occur when I/O operations or heavy computations run on the Event Dispatch Thread (EDT). This Skill audits plugin code for threading violations and guides the migration of blocking calls to background threads, keeping the IDE responsive.
Core Features & Use Cases
- EDT Usage Audit: Searches the codebase for
runInEdt, invokeLater, and invokeAndWait usages and checks whether they contain file access, network calls, or heavy computation.
- Background Migration: Refactors blocking work to
Task.Backgroundable or ReadAction.nonBlocking and verifies modal dialogs do not block the UI thread.
- Verification Workflow: Runs
./gradlew test, ./gradlew verifyPlugin, and a sandbox IDE session (./gradlew runIde) to confirm no regressions or deadlocks.
- Use Case: A Flutter plugin developer notices the IDE freezes when opening a project. Use this Skill to locate the blocking call on the EDT, move it to a background task, and verify the fix with tests and manual steps.
Quick Start
Audit the current project for UI thread safety violations and move any blocking calls off the EDT, then verify with the Gradle test suite.