Add PhpStorm/IntelliJ Platform 2026.1.2+ support and release 0.8.0#120
Add PhpStorm/IntelliJ Platform 2026.1.2+ support and release 0.8.0#120DenisStetsenko wants to merge 2 commits into
Conversation
Compatibility & build: - Remove the upper compatibility bound; build against 2026.1 (since-build stays 251) - Bump Gradle 8.13 -> 9.0.0, IntelliJ Platform plugin 2.6.0 -> 2.16.0, Kotlin 2.1.21 -> 2.3.20 - Add bundled JSON module dependency (extracted from the platform in 2024.3+) - Verify against the recommended IDE set (Compatible on 2025.1 through 2026.2) Robustness (from inxilpro#118): - Guard package.json / script detectors and auto-enable against dumb mode - Tie the package.json VFS listener to project disposal and run on smart mode - Cache x-target id lookups via CachedValuesManager - Mark the alpinePlugin extension point dynamic; nullable init() override Features (from inxilpro#118): - Quick documentation for Alpine directives - Inspection flagging the deprecated x-spread directive - Rewrite the settings panel using Kotlin UI DSL v2 CI & docs: - Run release and UI-test workflows on Java 21 - Fix stale Gradle task names in CLAUDE.md (verifyPlugin, qodanaScan) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Detection performance: - Scan the project once for all plugins instead of once per plugin: the detection contract is now batch-based (detect returns the set of matched plugins) and the registry detects all not-yet-enabled candidates in a single pass - Locate candidate files via the IDE text index (PsiSearchHelper) and read only those files once, instead of reading every project file - Exclude node_modules from detection scope (shared DetectionScopes helper), which also avoids false positives from nested dependency package.json files Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Hello, @inxilpro 👋 Would you mind sharing the roadmap for this plugin, as it feels a bit abandoned right now? Thanks! |
|
This seems like a ton of changes mashed together into two commits. Would you consider splitting this up into many smaller PRs to make it easier to review? Maybe start with just "Remove the upper compatibility bound", which might be the lowest hanging fruit? |
Good call. Happy to split it up. PS. Quick bit of context on why it landed as one chunk: the previously released version had some serious performance issues (heavy indexing/freezes on larger projects), and several of these changes work together to fix that, so I bundled them to keep the fix coherent. But you're right that it's hard to review as-is.... |
Summary
Adds support for PhpStorm / IntelliJ Platform 2026.1.2+ and bundles a few improvements as 0.8.0.
Compatibility & build
since-buildstays 251)Robustness
x-targetid lookups viaCachedValuesManageralpinePluginextension point dynamic; nullableinit()overrideFeatures
x-spreaddirectiveVerification
verifyPlugin: Compatible on 2025.1, 2025.2, 2025.3, 2026.1, 2026.2runIdeloads cleanlyNote
This overlaps with #118 — it incorporates that PR's robustness fixes and the three features, but not its
commons-lang3 → JsContextrefactor or test suite, and it uses a newer build toolchain. Happy to reconcile with #118 however you prefer.